更改日期格式javascript

时间:2016-01-09 16:03:29

标签: javascript jquery

我从两个不同的API中提取一些数据,以后我想要这些对象。

但是,我有两种不同的日期格式:此格式" 1427457730"这种格式" 2015-04-10T09:12:22Z"。如何更改其中一种格式,以便使用相同的格式?

$.each(object, function(index) {
  date = object[index].updated_at;
}

4 个答案:

答案 0 :(得分:4)

这是一个选项:

var timestamp  = 1427457730;
var date       = new Date(timestamp * 1000); // wants milliseconds, not seconds
var dateString = date.toISOString().replace(/\.\d+Z/, 'Z'); // remove the ms

dateString现在为2015-03-27T12:02:10Z

答案 1 :(得分:3)

尝试moment.js



var timestamp = 1427457730;
var date      = '2015-04-10T09:12:22Z';

var m1 = moment(timestamp);
var m2 = moment(date);

console.log(m1);
console.log(m2);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script>
&#13;
&#13;
&#13;

您可以使用.format()方法将日期解析为您想要的任何格式,例如:

m2.format('YYYY MMM DD ddd HH:mm:ss') // 2015 Apr 10 Fri 17:12:22

查看more format tokens的文档。

答案 2 :(得分:2)

你在javascript中可能想要的是日期对象 第一个字符串是自纪元以来的秒数,javascript需要毫秒,因此乘以1000;
第二个字符串是有效的ISO日期,因此如果字符串包含连字符,则将其传递给new Date

var date = returned_date.indexOf('-') !== -1 ? returned_date : returned_date * 1000;

var date_object = new Date(date);

将这两种类型都变成日期对象,你甚至可以把它变成一个方便的函数

function format_date(date) {
    return new Date(date.indexOf('-') !== -1 ? date : date * 1000);
}

FIDDLE

答案 3 :(得分:2)

看看http://momentjs.com/。它是JavaScript的日期/时间格式库 - 使用起来非常简单,非常灵活。