如何将unix时间戳转换为日历日期moment.js

And*_*rew 128 javascript datetime momentjs

我有一个unix时间戳,我正在尝试将其转换为日历日期,如MM/DD/YYYY.到目前为止,我有这个:

$(document).ready(function() {
  var value = $("#unixtime").val(); //this retrieves the unix timestamp
  var dateString = moment(value).calendar(); 
  alert(dateString);
});
Run Code Online (Sandbox Code Playgroud)

当我尝试打印日历日期时,窗口显示"无效日期".谁能帮我吗?

Mat*_*int 325

你问的时候使用moment.js:

var dateString = moment.unix(value).format("MM/DD/YYYY");
Run Code Online (Sandbox Code Playgroud)

  • @IanWarburton - 您不需要新的日期对象.`calendar`功能很不错([docs here](http://momentjs.com/docs/#/displaying/calendar-time/)),但不是OP要求的格式. (4认同)
  • 值得注意的是为什么这个问题失败了,但这是有效的。原因是因为 `monent(number)` [期望 *milli*seconds 内的 unix 时间戳](https://momentjs.com/docs/#/parsing/unix-timestamp-milliseconds/) (这与 ` Date`对象),而unix时间戳默认以秒为单位。因此,您也可以使用“moment(value*1000)”代替“moment.unix(value)”,但使用“unix”更清晰。 (4认同)
  • 那不是日历日期. (3认同)
  • @IanWarburton - 不是?? (2认同)
  • 我想这是根据问题。但我认为 moment.js 中的日历日期看起来像这样...... moment(new Date(item.date)).calendar() (2认同)

Cri*_*ris 35

UNIX时间戳是从1970年开始的秒数,因此您需要将其转换为JS Date对象:

var date = new Date(unixTimestamp*1000);
Run Code Online (Sandbox Code Playgroud)


Ben*_*uer 16

Moment.js提供可以使用的本地化格式.

这是一个例子:

const moment = require('moment');

const timestamp = 1519482900000;
const formatted = moment(timestamp).format('L');

console.log(formatted); // "02/24/2018"
Run Code Online (Sandbox Code Playgroud)


小智 6

可能有点晚了,但对于像这样的新问题,我使用以下代码:

moment(timestamp, 'X').format('lll');
Run Code Online (Sandbox Code Playgroud)

您可以更改格式以满足您的需要,还可以像这样添加时区:

moment(timestamp, 'X').tz(timezone).format('lll');
Run Code Online (Sandbox Code Playgroud)


Moh*_*bdo 5

new moment(timeStamp,'yyyyMMddHHmmssfff').toDate()
Run Code Online (Sandbox Code Playgroud)

  • 虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的,并描述何时使用它。从长远来看,仅代码答案没有用。此外,您的代码格式不正确。 (10认同)

Dan*_*pes 5

只有它,

moment.unix(date).toDate();
Run Code Online (Sandbox Code Playgroud)


Vin*_*ent 5

moment(1454521239279).toDate()
moment(1454521239279).format()
Run Code Online (Sandbox Code Playgroud)