伙计们,

我正在尝试理解MomentJS API。获取机器上当前时间的适当方法是什么?

var CurrentDate = moment();

vs

var CurrentDate = moment().format();

试图解析他们的文档,它不明显使用什么。

http://momentjs.com/docs/#/query/is-a-moment/


当前回答

对于任何使用反应时刻的人:

import Moment from 'react-moment'

内部渲染(使用你需要的格式道具):

const now = new Date()
<Moment format="MM/DD/YYYY">{now}</Moment>

其他回答

这里你把一个momentjs实例赋值给CurrentDate:

var CurrentDate = moment();

这里只是一个字符串,是momentjs实例默认格式的结果:

var CurrentDate = moment().format();

这里是1月份以来的秒数。Unix时间戳:

var CurrentDate = moment().unix();

这里的另一个字符串为ISO 8601 (ISO 8601和RFC 3339日期格式之间的区别是什么?):

var CurrentDate = moment().toISOString();

这也是可以做到的:

var a = moment();
var b = moment(a.toISOString());

console.log(a.isSame(b)); // true

试着这样使用它:

let current_time = moment().format("HH:mm")

我想补充一点,你可以在一个对象中拥有全部的数据信息:

const today = moment().toObject();

你应该获得一个具有这些属性的对象:

today: {
    date: 15,
    hours: 1,
    milliseconds: 927,
    minutes: 59,
    months: 4,
    seconds: 43,
    years: 2019
    }

当你必须计算日期时,它是非常有用的。

如果您只想要从01-JAN-1970年开始的毫秒数,那么您可以使用

var theMoment = moment(); // or whatever your moment instance is
var millis;

millis = +theMoment; // a short but not very readable form
// or
millis = theMoment.valueOf();
// or (almost sure not as efficient as above)
millis = theMoment.toDate().getTime();

Moment ().unix()你会得到一个Unix时间戳(以秒为单位)

moment().valueOf()你将得到一个完整的时间戳(以毫秒为单位)