首先,我使用在Momentjs上运行的bootstrap datetimepicker(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)),
});
});
目前我使用&#39; _d&#39;从对象获取数据。关于时刻对象的价值:
$('#bookingTime').data("DateTimePicker").date()._d.toString();
但我认为必须有一个更好,更少&#39;油腻&#39;办法。 当语言环境设置为另一种语言时,如何从一个时刻对象获得英语值?
答案 0 :(得分:3)
我想你只想打电话:
$('#bookingTime').data("DateTimePicker").date().format()
这将为您提供格式为ISO8601的日期:
2016-03-18T15:55:48-05:00
这可能是存储未来使用日期的最佳方式,因为它可以被任何文化解释。
您还可以使用即时格式标记来获取各种其他格式。
如果您真的想要英文,可以更改区域设置。我可能会先复制它以避免在初始日期出现意外的副作用:
var a = $('#bookingTime').data("DateTimePicker").date().clone();
a.locale('en');
a.format('YYYY-MM-DD hh:mm A');//the date with english AM/PM