Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RangePicker国际化中时间格式问题 #1509

Closed
xuqiang1227 opened this issue Apr 25, 2016 · 13 comments
Closed

RangePicker国际化中时间格式问题 #1509

xuqiang1227 opened this issue Apr 25, 2016 · 13 comments

Comments

@xuqiang1227
Copy link

xuqiang1227 commented Apr 25, 2016

在设置RangePicker的国际化中,格式化指定为:format="yyyy-MM-dd hh:mm a",并且指定了ampms: ['AM', 'PM']。
在中英文切换中,’上午‘和’下午‘在en_US下没有切换成’AM‘和’PM‘。但是将浏览器的语言修改为英文时,会切换成’AM‘和’PM‘。如下图:
select
select2

浏览器设置为英语时:
select3

demo

http://codepen.io/xiaoyi_1222/pen/xVaPgg

@afc163 afc163 added the 🤔 Need Reproduce We cannot reproduce your problem label Apr 25, 2016
@afc163
Copy link
Member

afc163 commented Apr 25, 2016

麻烦给个 codepen 或者 demo?

@afc163
Copy link
Member

afc163 commented Apr 25, 2016

import { DatePicker } from 'antd';
import enUS from 'antd/lib/date-picker/locale/en_US';
const RangePicker = DatePicker.RangePicker;

ReactDOM.render(<div>
  <RangePicker showTime format="yyyy-MM-dd hh:mm a" locale={enUS} />
</div>, mountNode);

我试了上面的代码是没有问题的。

@xuqiang1227
Copy link
Author

xuqiang1227 commented Apr 26, 2016

import PromptInfo from '../sources/promptInfo.js';
//自定义的国际化内容格式:const ANTLocale ={lang:{today: 'Today'..., format:{ ampms: ['AM', 'PM'],...}}}
const ANTLocale = PromptInfo.ANTLocale;
import enUS from 'antd/lib/date-picker/locale/en_US';

let locale = null;
switch (this.props.intl.formatMessage({id: 'locale'})){
            case ENGLISH:
                //locale = Object.assign({}, enUS, ANTLocale);
                locale = enUS;
                break;
            case CHINESE:
                locale = {};
        }

<RangePicker showTime format="yyyy-MM-dd hh:mm a" onChange={this.getDateTime.bind(this)} locale={locale} startPlaceholder={startPlaceholder} endPlaceholder={endPlaceholder}/>

这种情况下就会复现。

@benjycui
Copy link
Contributor

benjycui commented Apr 26, 2016

@kairi1227 试下把你自定义的 locale 打印出来,确认下正确的先。

@xuqiang1227
Copy link
Author

xuqiang1227 commented Apr 26, 2016

@benjycui 以下就是locale的值。通过 locale = Object.assign({}, ANTLocale, enUS);获取的。

{
    "lang": {
        "placeholder": "Select date",
        "today": "Today",
        "now": "Now",
        "ok": "Ok",
        "clear": "Clear",
        "month": "Month",
        "year": "Year",
        "monthSelect": "Choose a month",
        "yearSelect": "Choose a year",
        "decadeSelect": "Choose a decade",
        "yearFormat": "yyyy",
        "dateFormat": "M/d/yyyy",
        "monthFormat": "MMMM",
        "monthBeforeYear": true,
        "previousMonth": "Previous month (PageUp)",
        "nextMonth": "Next month (PageDown)",
        "previousYear": "Last year (Control + left)",
        "nextYear": "Next year (Control + right)",
        "previousDecade": "Last decade",
        "nextDecade": "Next decade",
        "previousCentury": "Last century",
        "nextCentury": "Next century",
        "format": {
            "eras": [
                "BC",
                "AD"
            ],
            "months": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
            ],
            "shortMonths": [
                "Jan",
                "Feb",
                "Mar",
                "Apr",
                "May",
                "Jun",
                "Jul",
                "Aug",
                "Sep",
                "Oct",
                "Nov",
                "Dec"
            ],
            "weekdays": [
                "Sunday",
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday"
            ],
            "shortWeekdays": [
                "Sun",
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri",
                "Sat"
            ],
            "veryShortWeekdays": [
                "Su",
                "Mo",
                "Tu",
                "We",
                "Th",
                "Fr",
                "Sa"
            ],
            "ampms": [
                "AM",
                "PM"
            ],
            "datePatterns": [
                "EEEE, MMMM d, yyyy",
                "MMMM d, yyyy",
                "MMM d, yyyy",
                "M/d/yy"
            ],
            "timePatterns": [
                "h:mm:ss a 'GMT'Z",
                "h:mm:ss a",
                "h:mm:ss a",
                "h:mm a"
            ],
            "dateTimePattern": "{date} {time}"
        }
    },
    "timezoneOffset": -480,
    "firstDayOfWeek": 0,
    "minimalDaysInFirstWeek": 1,
    "timePickerLocale": {
        "placeholder": "Select a time",
        "clear": "Clear",
        "format": {
            "eras": [
                "BC",
                "AD"
            ],
            "months": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
            ],
            "shortMonths": [
                "Jan",
                "Feb",
                "Mar",
                "Apr",
                "May",
                "Jun",
                "Jul",
                "Aug",
                "Sep",
                "Oct",
                "Nov",
                "Dec"
            ],
            "weekdays": [
                "Sunday",
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday"
            ],
            "shortWeekdays": [
                "Sun",
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri",
                "Sat"
            ],
            "veryShortWeekdays": [
                "Su",
                "Mo",
                "Tu",
                "We",
                "Th",
                "Fr",
                "Sa"
            ],
            "ampms": [
                "AM",
                "PM"
            ],
            "datePatterns": [
                "EEEE, MMMM d, yyyy",
                "MMMM d, yyyy",
                "MMM d, yyyy",
                "M/d/yy"
            ],
            "timePatterns": [
                "h:mm:ss a 'GMT'Z",
                "h:mm:ss a",
                "h:mm:ss a",
                "h:mm a"
            ],
            "dateTimePattern": "{date} {time}"
        },
        "calendar": {
            "timezoneOffset": -480,
            "firstDayOfWeek": 0,
            "minimalDaysInFirstWeek": 1
        }
    }
}

@benjycui
Copy link
Contributor

好吧,还是麻烦你先提供个 demo 😅

Please provide a re-producible demo: http://codepen.io/anon/pen/pgdXYp?editors=001

@xuqiang1227
Copy link
Author

xuqiang1227 commented Apr 26, 2016

@benjycui demo已添加 单击按钮切换的时候
http://codepen.io/xiaoyi_1222/pen/xVaPgg

@benjycui
Copy link
Contributor

。。。。。。。。。

你的 demo 跑不起来。。。

@xuqiang1227
Copy link
Author

@benjycui 我修改了html的引用方式。再试试。给js取名:datePicker.js.

@xuqiang1227
Copy link
Author

@benjycui 我又加了一个startplaceholder的国际化,你看起来就更直观了。

@benjycui
Copy link
Contributor

更新之后,要把新的 demo 的地址贴上来,因为原来的 demo 是不会更新的。。

@xuqiang1227
Copy link
Author

@benjycui
Copy link
Contributor

在本地重现了,THX

不过还是建议,在发 demo 前,确认是可以跑的啊。。。最新的那个 demo,还是跑不了。

@benjycui benjycui removed the 🤔 Need Reproduce We cannot reproduce your problem label Apr 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants