我正在为项目使用Angular和Material2。
我用这种方式创造了一个时刻对象:
myDate = moment.utc(new Date()).format("YYYY-MM-DD HH:mm:ss")
;
然后将此对象作为参数传递给需要知道格式化日期字符串的其他函数。
记录这个对象我看,它有一个属性:_f: YYYY-MM-DD HH:mm:ss"
和另一个:_i: "2018-01-17 13:51:54"
有没有办法可以获得_f
或_i
的价值?
编辑:
最后,我希望"2018-01-17 13:51:54"
不是_f
或_i
。
EDIT2:
myDate充当该函数内的Moment对象。即:我正在扩展MomentDateAdapter并覆盖format(date: Moment, displayFormat: string): string {}
所以日期是一个Moment对象。这在Material2 Datepicker中使用。
EDIT3 - 一些结果:
toString:Wed Jan 17 2018 14:10:53 GMT+0100
格式:2018-01-17T14:10:53+01:00
toISOString:2018-01-17T13:10:53.000Z
答案 0 :(得分:2)
作为Internal Properties指南状态,您可以使用:
要打印出片刻的价值,请使用
.format()
,.toString()
或.toISOString()
。
而非_i
,而您可以使用creationData()
而不是format
返回的_f
属性。
编辑后(最后,我想得到" 2018-01-17 13:51:54"不是真的_f
或_i
),你可以简单地使用format()
let myDate = moment.utc('2018-01-17 13:51:54'); // myDate is a moment object
let cData = myDate.creationData();
console.log( myDate.format("YYYY-MM-DD HH:mm:ss") );
console.log( cData.format );
console.log( myDate.format(cData.format) );

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
&#13;