moment.js中的日期格式,奇怪的日期值
Date formatting in moment.js , weird date values
json中有两种日期
m = '201811';
n = '/Date(1433030400000)/';
我正在尝试使用moment.js来格式化时间,但我猜我找不到合适的方法。
moment(m).format('YYYY DD') //"201811 01"
和n值我不能理解它导致这样的输出:
moment(m).format('YYYY DD')//"2015 31"
当您向moment()
构造函数传递日期时,您可能必须指定日期的格式。
所以第一次约会你需要这样做:
moment(m, 'YYYYMM').format('YYYY MM'); // if the date is indeed in the form YYYYMM
对于第二个日期,只需从字符串中提取数字部分并将其提供给moment
:
var ts = n.match(/('d+)/);
moment(+ts[1]).format('YYYY DD');
查看代码片段:
var m = '201811';
var n = '/Date(1433030400000)/';
alert(moment(m, 'YYYYMM').format('YYYY MM'));
var ts = n.match(/('d+)/);
moment(+ts[1]).format('YYYY DD');
alert(moment(+ts[1]).format('YYYY MM'));
<script src="http://momentjs.com/downloads/moment.js"></script>
编辑:多亏了@MattJohnson,如果你至少有1.3.0版本,你可以简单地将/Date(1433030400000)/
形式的字符串传递给moment()
构造函数,它会自动检测正确的格式,也见这里。
将它们以以下格式传递给moment:
var m = '201811';
var n = '/Date(1433030400000)/';
var formattedM = window.moment(m, 'YYYYMM').format('YYYY MMM DD'); //2018 Nov 01
var formattedN = window.moment(n).format('YYYY MMM DD'); //2015 May 31
我在jsbin里放了一个例子。
感谢Matt Johnson指出,这一刻可以采取/Date(1433030400000)/
格式。
相关文章:
- 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的日期格式
- 如何从区域设置获取日期格式