使用Moment.js获取当前的unixtimestamp


138

我想使用Moment.js获得Unix时间戳。我可以在moment.js中找到许多将时间戳转换为日期的函数。我知道,我可以很容易地通过使用下面的JavaScript函数获得UNIX时间戳:Math.floor(new Date().getTime()/1000)

但是我想使用Moment.js来获得相同的结果。moment.js中是否有任何直接函数来获取当前时间戳?

Answers:


262

要在几秒钟内找到Unix时间戳:

moment().unix()

文档是您的朋友。:)


23
那是秒,而不是毫秒
Alon Dahari 2015年

19
@climbinghobo-是的。这就是问题中所要的。
马特·约翰逊·品脱

16
@climbinghobo,如果您想使用毫秒级的话moment().valueOf()
Gaurav Bharti,

不再有效。请参阅下面的@kumar chandraketu答案。
kaiser

1
文档可能是我的朋友,但StackOverflow是我最好的伙伴
Yvonne Aburrow

137

对于发现此页面并查找带有时间戳的unix时间戳的任何人,文档说

moment().valueOf()

要么

+moment();

您也可以通过它(或[ 大写的X ] Unix秒钟(带十进制毫秒))获取它,但这将为您提供一个字符串。除非您先将其转换/广播回数字,否则那一刻的moment.js以后实际上不会解析。moment().format('x').format('X')


2
非常好,但是最后一个(+moment())看起来很有风险!
Daniel F

@JRichardsz似乎是不必要的解析步骤,因为我提到的前两个将为您提供正确的数字值。
mix3d 16-4-25

1
正确。根据文档提供的信息moment().valueOf();+moment();
史蒂夫·斯温斯堡

@ mix3d我会尝试。谢谢!
JRichardsz

20

UNIX时间戳(以毫秒为单位)

moment().format('x') // lowerCase x

UNIX时间戳记(以秒为单位) moment().format('X') // capital X


5
注意:这些将为您提供字符串形式的值,而不是Number对象。
mix3d 16-10-13

7

尝试任何这些

valof = moment().valueOf();            // xxxxxxxxxxxxx
getTime = moment().toDate().getTime(); // xxxxxxxxxxxxx
unixTime =  moment().unix();           // xxxxxxxxxx
formatTimex =  moment().format('x');   // xxxxxxxxxx
unixFormatX = moment().format('X');    // xxxxxxxxxx
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.