我的应用程序使用这样的javascript发送HTML文件:
$(function () {
moment.locale('fr');
$('#datetimepicker9').datetimepicker({
viewMode: 'years',
locale: 'fr',
format: '' /* <========= problem! */
});
});
暂时,当我设置为区域设置时,有没有办法为'j F Y'
获取类似“fr
”的配置的短日期格式?
我找到了它,但它是黑客的:
moment()['_locale']['_longDateFormat']['L']
现在我的代码:
$(function () {
moment.locale('fr');
$('#datetimepicker9').datetimepicker({
viewMode: 'years',
locale: 'fr',
format: moment()['_locale']['_longDateFormat']['L']
});
});
我不喜欢这样,是否有一种干净的方式来获取格式?
答案 0 :(得分:4)
您可以使用the current localeData()
的longDateFormat()
检索特定于语言环境的格式字符串:
moment.locale('fr');
var localeData = moment.localeData();
var dateFormat = localeData.longDateFormat('LL');
console.log(dateFormat); // D MMMM YYYY
答案 1 :(得分:2)
更新版本的moment.js具有可用的本地化格式 - http://momentjs.com/docs/#/displaying/format/
本地化格式
由于首选格式因区域设置而异,因此有一些格式 可用于根据区域设置格式化时刻的标记。
相同格式有大小写变体。该 小写版本旨在成为其缩短版本 大写对应。
Time LT 8:30 PM
时间秒LTS 8:30:25 PM
月份数字,月份日,年份L 09/04/1986
l 9/4/1986
月份名称,日期,年份LL 1986年9月4日1986年9月4日ll
月份名称,日期,年份,时间LLL 1986年9月4日晚上8:30
lll 1986年9月4日晚上8:30
月份名称,日期,星期几,年份,时间LLLL 1986年9月4日星期四晚上8:30
llll Thu,1986年9月4日晚上8:30
L LL LLL LLLL LT可用于 版本1.3.0。 lll lll llll在2.0.0中可用。 LTS被加入 2.8.4。
因此,您可以使用以下方式获取本地化的短日期格式:
var formattedDate = moment(d).format("l");