当语言环境设置为另一种语言时,如何从 momentjs 对象获取英语值?
How to get the value in English from a momentjs object when the locale is set to another language?
首先,我使用在 Momentjs 上运行的 bootstrap 日期时间选择器 (http://eonasdan.github.io/bootstrap-datetimepicker/)。
我的应用程序是多语言的,包括日语、中文和阿拉伯语等亚洲语言。当区域设置为其他语言时,有时值的格式(例如 am/pm)将包含亚洲字符。当我想将值保存到我的数据库中并稍后调用时,这会导致问题。
我的代码如下所示:
$('#bookingTime').datetimepicker({
"format": 'YYYY-MM-DD hh:mm A',
locale: " << The locale I'm setting >> ",
stepping: 30,
minDate: moment().millisecond(0).second(0).minute(0).hour(0),
maxDate: new Date(new Date().setYear(new Date().getFullYear() + 1)),
});
});
目前我正在使用 moment 对象上的“_d”值从对象获取数据:
$('#bookingTime').data("DateTimePicker").date()._d.toString();
但我认为一定有更好、更少的 'greasy' 方式。
当语言环境设置为另一种语言时,moment 对象的英语值如何?
我想你只是想打电话给:
$('#bookingTime').data("DateTimePicker").date().format()
这将为您提供格式为 ISO8601 的日期:
2016-03-18T15:55:48-05:00
这可能是存储日期以备将来使用的最佳方式,因为任何文化都可以解释它。
您还可以使用 moment 的格式标记来获取各种其他格式。
如果您真的想要英文版,您可以更改语言环境。我可能会先复制它以避免在初始日期进行更改的意外副作用:
var a = $('#bookingTime').data("DateTimePicker").date().clone();
a.locale('en');
a.format('YYYY-MM-DD hh:mm A');//the date with english AM/PM
首先,我使用在 Momentjs 上运行的 bootstrap 日期时间选择器 (http://eonasdan.github.io/bootstrap-datetimepicker/)。
我的应用程序是多语言的,包括日语、中文和阿拉伯语等亚洲语言。当区域设置为其他语言时,有时值的格式(例如 am/pm)将包含亚洲字符。当我想将值保存到我的数据库中并稍后调用时,这会导致问题。
我的代码如下所示:
$('#bookingTime').datetimepicker({
"format": 'YYYY-MM-DD hh:mm A',
locale: " << The locale I'm setting >> ",
stepping: 30,
minDate: moment().millisecond(0).second(0).minute(0).hour(0),
maxDate: new Date(new Date().setYear(new Date().getFullYear() + 1)),
});
});
目前我正在使用 moment 对象上的“_d”值从对象获取数据:
$('#bookingTime').data("DateTimePicker").date()._d.toString();
但我认为一定有更好、更少的 'greasy' 方式。 当语言环境设置为另一种语言时,moment 对象的英语值如何?
我想你只是想打电话给:
$('#bookingTime').data("DateTimePicker").date().format()
这将为您提供格式为 ISO8601 的日期:
2016-03-18T15:55:48-05:00
这可能是存储日期以备将来使用的最佳方式,因为任何文化都可以解释它。
您还可以使用 moment 的格式标记来获取各种其他格式。
如果您真的想要英文版,您可以更改语言环境。我可能会先复制它以避免在初始日期进行更改的意外副作用:
var a = $('#bookingTime').data("DateTimePicker").date().clone();
a.locale('en');
a.format('YYYY-MM-DD hh:mm A');//the date with english AM/PM