在moment js中自定义长日期格式
custom long date format in moment js
是否有一种方法可以根据区域设置为长日期添加自定义格式代码?
例如: moment().format("L")
是一种现有的格式,它将打印区域设置(包括年份)的长日期,但是如果我想添加我自己的不包括年份的格式,如下所示:
moment().format("LTY")
只打印给定语言环境中的月份和日期。
我该怎么做?
阅读长日期格式部分。您可以使用
来替换默认的长日期格式对象:moment.updateLocale('en', {
longDateFormat : {
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "MM/DD", // Remove year
LL: "MMMM Do YYYY",
LLL: "MMMM Do YYYY LT",
LLLL: "dddd, MMMM Do YYYY LT"
}
});
然后使用:
var x = moment().format('L');
Moment解析传递给format的字符串,查找令牌。如果你想添加一个自定义令牌,比如"LTY",你还需要将它添加到本地格式化令牌列表中:
var localFormattingTokens = /('[[^'[]*'])|('')?(LTS|LT|LL?L?L?|l{1,4})/g;
将变为(LTY added):
var localFormattingTokens = /('[[^'[]*'])|('')?(LTY|LTS|LT|LL?L?L?|l{1,4})/g;
并使用新的令牌更新默认的长日期格式:
var defaultLongDateFormat = {
LTY : 'MM/DD HH:mm', // format for new token
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY h:mm A',
LLLL : 'dddd, MMMM D, YYYY h:mm A'
};
然后,如果你想要其他格式:
moment.updateLocale('en', {
longDateFormat : {
LTY: 'MM/DD HH:mm', // new format for token here
LT: "h:mm A",
LTS: "h:mm:ss A",
L: "MM/DD/YYYY",
LL: "MMMM Do YYYY",
LLL: "MMMM Do YYYY LT",
LLLL: "dddd, MMMM Do YYYY LT"
}
});
最后:
var x = moment().format('LTY');
,但你必须检查它会对其他代码产生什么影响。此外,每次更新moment.js源代码时,您都必须应用相同的更改,不能使用CDN,您的代码将无法使用标准的moments .js库移植到其他网站。
所以坚持使用updateLocale的方法。或者直接输入:var LTY = 'MM/DD HH:mm';
var d = new moment().format(LTY);
console.log(d)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.js"></script>
你就完成了。
注意这里使用"locale"是用词不当。格式首选项与用户所在的位置(即他们的区域设置)无关,"en"是一种在大量区域中使用的语言,这些区域对如何格式化日期有非常不同的首选项。
相关文章:
- Javascript日期格式类似于ISO,但本地
- NodeJS日期格式不起作用
- 将客户端特定的日期格式返回到服务器MVC4
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 将Javascript日期转换为ASP.NET日期格式
- 在达到状态之前在Redux Reducer中设置日期格式
- 如何从Angularjs中的新日期获取日期格式
- 如何使用jquery更改为所需的日期格式
- keith wood日期选择器日期格式和语言
- Dygraph更改日期格式
- 确定Twig(或JavaScript)中的国际日期格式,以便在其他地方使用
- javascript和jquery日期格式转换
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 在Karma Jasmine单元测试用例中检查日期格式
- 使用不同的日期格式和区域设置创建时刻
- 更改日期选择器上的日期格式
- 以日期计算的天数更改日期格式
- 带有onchange的日期格式
- 如何从区域设置获取日期格式