如何使用Moment.js返回当前时间戳?


157

民间,

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

var CurrentDate = moment();

var CurrentDate = moment().format();

试图解析他们的文档,并且不清楚使用什么。

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


1
目前的时间怎么样?Unix时间戳?
2014年

我想像的是RFC3339或返回给客户端的任何互联网标准ID,等等
Cmag

2
回到客户端...嗯...我想您是在nodejs中获取它,并将其发送到浏览器,希望再次将其转换为momentjs实例吗?
昏迷

1
抱歉,您认为我的回答有用吗?
昏迷

1
绝对,我认为:)问了一个简短的问题var now = new Date().getTime(); userObject.registered = moment(now).toDate();
Cmag

Answers:


239

在这里,您要为CurrentDate分配一个momentjs实例:

var CurrentDate = moment();

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

var CurrentDate = moment().format();

这里是自一月...以来的秒数,嗯,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

这可以接受吗?var now = new Date().getTime(); userObject.registered = moment(now).toDate();
Cmag 2014年

1
@Cmag,我不明白这个问题,但是看看这个:jsfiddle.net/coma/bLe31qq0,正如您所看到的,即使实例被冻结之后,瞬间仍保持相同的时间是与new Date()相同的行为。
昏迷

所以它是相同的行为?
Cmag 2014年

1
@Cmag,是的,可以将momentjs视为类固醇上的Date对象,并且仅在与需要原始Date对象的第三方库一起使用时才使用toDate方法。使用momentjs,复杂的时间计算不仅容易,而且令人愉快。我用它制作了一个日期选择器:github.com/coma/MomentPicker/blob/master/src/MomentPicker.js
昏迷

此外,该.format('x')选项还将生成一个时间戳字符串。
Jimmy Knoot '16

66

moment().unix() 您将获得一个Unix时间戳

moment().valueOf() 您将获得完整的时间戳记


1
格式化var CurrentDateUnixTimestamp = moment()。unix(); moment.unix(CurrentDateUnixTimestamp).format(“ YYYY-MM-DD HH:mm”);`
Glitch,

unix时间戳和full时间戳之间有什么区别?我认为full时间戳是指示自1970年1月1日以来的〜时间流〜的毫秒数,但我无法确定另一个时间戳。
DongBin Kim

3
.unix()以秒.valueOf()为单位提供Unix时间戳,以毫秒为单位提供Unix时间戳(又名我一直认为是Unix时间戳)。
安德鲁·科斯特

33

仍然没有答案。Moment.js-除了如此简单的任务之外,什么都可以做。

我正在使用这个:

moment().toDate().getTime()

1
我比这更喜欢这个+moment()。字符更多,但更易于阅读和理解。
joemaller16年

我同意@joemaller,如果您不早点接受Javascript的特质,就可以抓住您大声笑
Ian Brindley


11

如果您只想知道自1970年1月1日以来的毫秒数,则可以使用

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();

4

试试这个

console.log(moment().format("MM ddd, YYYY hh:mm:ss a"));

console.log(moment().format("MM ddd, YYYY hh:mm:ss a"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>


2

尝试这种方式:

console.log(moment().format('L'));
moment().format('L');    // 05/25/2018
moment().format('l');    // 5/25/2018

格式化日期:

moment().format('MMMM Do YYYY, h:mm:ss a'); // May 25th 2018, 2:02:13 pm
moment().format('dddd');                    // Friday
moment().format("MMM Do YY");               // May 25th 18
moment().format('YYYY [escaped] YYYY');     // 2018 escaped 2018
moment().format();                          // 2018-05-25T14:02:13-05:00

请访问:https//momentjs.com/了解更多信息。



1

我想补充一点,您可以使用以下命令将整个数据信息包含在一个对象中:

const today = moment().toObject();

您应该获得具有以下属性的对象:

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

当您必须计算日期时,它非常有用。


0

当前日期使用DD-MM-YYYY格式的momment.js

const currentdate=moment().format("DD-MM-YYYY"); 
console.log(currentdate)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.