33

我有类似/Date(1370001284000+0200)/时间戳的东西。我想这是一个unix日期,不是吗?如何将其转换为这样的日期:31.05.2013 13:54:44

我为 1370001284尝试了这个转换器,它给出了正确的日期。所以它是在几秒钟内。

但我仍然得到错误的日期:

var substring = unix_timestamp.replace("/Date(", "");
substring = substring.replace("000+0200)/", "");
var date = new Date();
date.setSeconds(substring);
return date;
4

8 回答 8

42

请注意,我的使用t.format来自Moment.js,它不是 JavaScript 标准Date原型的一部分。

Unix 时间戳是自 1970-01-01 00:00:00 UTC 以来的秒数。

的存在+0200意味着数字字符串不是 Unix 时间戳,因为它包含时区调整信息。您需要单独处理。

如果您的时间戳字符串以毫秒为单位,那么您可以使用毫秒构造函数和Moment.js将日期格式化为字符串:

var t = new Date( 1370001284000 );
var formatted = moment(t).format("dd.mm.yyyy hh:MM:ss");

如果您的时间戳字符串以秒为单位,则使用setSeconds

var t = new Date();
t.setSeconds( 1370001284 );
var formatted = moment(t).format("dd.mm.yyyy hh:MM:ss");
于 2013-06-07T07:20:16.063 回答
19

看起来您可能需要 ISO 格式,以便您可以保留时区。

var dateTime = new Date(1370001284000);
dateTime.toISOString(); // Returns "2013-05-31T11:54:44.000Z"

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString

于 2014-08-06T17:54:43.550 回答
8

没有 moment.js:

var time_to_show = 1509968436; // unix timestamp in seconds

var t = new Date(time_to_show * 1000);
var formatted = ('0' + t.getHours()).slice(-2) + ':' + ('0' + t.getMinutes()).slice(-2);

document.write(formatted);

于 2017-11-06T12:00:15.837 回答
3

/Date(ms + timezone)/是 JSON 日期的 ASP.NET 语法。您可能希望使用像momentjs这样的库来解析此类日期。如果您以后需要操作或打印日期,它会派上用场。

于 2013-06-07T08:57:42.893 回答
3

导入时刻js:

var fulldate = new Date(1370001284000);
var converted_date = moment(fulldate).format(");
于 2016-11-16T20:44:26.400 回答
3

如果使用反应:

import Moment from 'react-moment';
Moment.globalFormat = 'D MMM YYYY';

然后:

<td><Moment unix>{1370001284}</Moment></td>
于 2018-02-14T04:47:38.770 回答
2

如果您使用 React,我发现'react-moment'库更容易处理前端相关任务,只需导入<Moment>组件并添加unix道具:

import Moment from 'react-moment'

 // get date variable
 const {date} = this.props 

 <Moment unix>{date}</Moment>
于 2020-08-31T10:04:26.000 回答
1

我想补充一点,在javascript中使用库momentjs,您可以在一个对象中拥有整个数据信息:

const today = moment(1557697070824.94).toObject();

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

today: {
  date: 15,
  hours: 2,
  milliseconds: 207,
  minutes: 31,
  months: 4
  seconds: 22,
  years: 2019
}

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

于 2019-05-15T00:35:42.783 回答