我想知道转换此格式的时间戳的最佳方法是什么 -
2012-02-18 14:28:32
到这种格式的日期演示文稿 -
Saturday Feb 2012 14:28:32
非常感谢:)
答案 0 :(得分:5)
Javascript日期函数非常糟糕...您可以选择转换为UTC http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_toutcstring
但如果是我,我会调查Datejs:http://www.datejs.com/最适合我的javascript日期api
请查看Datejs入门:http://www.datejs.com/2007/11/27/getting-started-with-datejs/
答案 1 :(得分:3)
您必须先定义一个英语单词数组(星期日,星期一,二月,三月等):
var daysOfWeek = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
monthsOfYear = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
为了能够在分钟和秒的开头插入额外的0
,为String
原型定义填充函数:
String.prototype.padLeft = function(padString,length){
var toReturn = String(this);
while(toReturn.length < length){
toReturn = padString + toReturn;
}
return toReturn;
}
格式化日期和时间,如下所示:
var time = new Date(), formattedDate, formattedTime, wholeThing;
formattedDate = daysOfWeek[time.getDay()] + ", " + monthsOfYear[time.getMonth()] + " " + time.getDate() + ", " + time.getFullYear();
formattedTime = time.getHours() + ":" + time.getMinutes().padLeft("0",2) + time.getSeconds().padLeft("0",2);
您可以通过连接formattedDate
和formattedTime
来完成整个事情,如:
wholeThing = formattedDate + " " + formattedTime;
答案 2 :(得分:3)
考虑使用摇滚的datejs
!
var mydate = Date.parse('2012-02-18 14:28:32');
var result = mydate.toString('dddd MMM yyyy h:mm:ss');
console.log(result);
答案 3 :(得分:1)
JavaScripts Date对象缺少格式化方法。我会考虑使用像this one这样的外部库。似乎它有你想要的东西。
答案 4 :(得分:1)
我建议使用外部js库来做到这一点。据我了解,Moment.js是最好的日期 - 时间转换库。
在这种情况下,它可以在一行中完成工作。只需在项目中添加moment.js,然后执行
var timestamp = '2012-02-18 14:28:32';
var formattedTime = moment(timestamp).format('dddd MMM YYYY HH:mm:ss'); // Saturday Feb 2012 14:28:32
答案 5 :(得分:0)
试试这个博客,它有足够的日期格式: