我有一个时间戳:
1399043514913
实际上是 Fri, 02 May 2014 15:11:54 GMT
但我得到 Sat, 05 Dec 46303 06:35:13 GMT
如何正确地将时间戳转换为 Fri, 02 May
日期?
我正在尝试:
var dateTime = new Date(milliseconds * 1000);
var UTCString = new Date(dateTime).toUTCString();
我真正想要结束的是一个我可以使用的日期对象 getDate()
, getMonth()
等,这样我就可以将日期设置为我喜欢的任何格式。
或者,我想要一种转换 1399043514913
的方法至 02/05/2014 15:11:54
更新:
感谢@JensB 解决了问题,
结果是我的毫秒日期格式转换器:
function formatTimeStamp(milliseconds) {
if (typeof milliseconds === "string")
milliseconds = parseInt(milliseconds.match(/\d+/g)[0]);
var dateTime = new Date(milliseconds);
var dateVar = new Date(dateTime);
var ISOString = new Date(dateVar).toISOString();
var UTCString = new Date(dateVar).toUTCString();
function pad(s) { return (s < 10) ? ("0" + s) : s.toString(); }
var dateTimeParts = {
dd: pad(dateVar.getDate()),
MM: pad(dateVar.getMonth() + 1),
yyyy: dateVar.getFullYear().toString(),
yy: dateVar.getFullYear().toString().substring(2, 4),
HH: pad(dateVar.getHours()),
mm: pad(dateVar.getMinutes()),
ss: pad(dateVar.getSeconds())
};
var execute = function(string) {
for (var key in dateTimeParts)
string = string.replace(key, dateTimeParts[key]);
return string;
};
return {
ISOString: ISOString,
UTCString: UTCString,
date: execute("dd/MM/yyyy"),
time: execute("HH:mm"),
dateTime: execute("dd/MM/yy HH:mm:ss"),
dateTimeParts: dateTimeParts
};
}
最佳答案
只需运行此代码(与您的问题相同)
var dateTime = new Date(1399043514913);
var UTCString = new Date(dateTime).toUTCString();
alert(UTCString);
给我
Fri, 02 May 2014 15:11:54 GMT
根据评论编辑,这个有用吗?
$( document ).ready(function() {
var dateTime = new Date(1399043514913);
var dateVar = new Date(dateTime);
var UTCString = dateVar.toUTCString();
$("#dt").text(UTCString);
$("#dt2").text("Month: " + dateVar.getMonth());
$("#dt3").text("GetDate: " + dateVar.getDate());
});
fiddler :http://jsfiddle.net/DqSGJ/3/
关于javascript - 将时间戳转换为新日期的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23804692/