我从两个不同的API中提取一些数据,以后我想要这些对象。
但是,我有两种不同的日期格式:此格式" 1427457730"这种格式" 2015-04-10T09:12:22Z"。如何更改其中一种格式,以便使用相同的格式?
$.each(object, function(index) {
date = object[index].updated_at;
}
答案 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)
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;
您可以使用.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);
}
答案 3 :(得分:2)
看看http://momentjs.com/。它是JavaScript的日期/时间格式库 - 使用起来非常简单,非常灵活。