我有这样一个变量,如何将ISO日期和时间格式转换为“DD Mon YYYY hh:mm:ss”?
var date = "2016-04-07T03:03:03Z";
如何将其转换为这样的6 Apr 2016, 8:03:03 PM
在使用JavaScript/jQuery的本地时区的时间格式?
我有这样一个变量,如何将ISO日期和时间格式转换为“DD Mon YYYY hh:mm:ss”?
var date = "2016-04-07T03:03:03Z";
如何将其转换为这样的6 Apr 2016, 8:03:03 PM
在使用JavaScript/jQuery的本地时区的时间格式?
当你想用一个时区解析它,然后格式化输出,我强烈建议使用Moment.js这是一个很好用的库时间和日期操作:
的代码会是这个样子:
var date = "2016-04-07T03:03:03Z";
console.log(moment(date).format('D MMM YYYY, h:mm:ss A'));
// "7 Apr 2016, 5:03:03 AM"
Moment.js库的功能就像魔术一样。非常感谢 :) –
试试这个:
var date = "2016-04-07T03:03:03Z";
var myDate = new Date(date);
console.log(myDate);
星期四2016年4月7日5时03分03秒GMT + 0200(西欧夏令时间)
的new Date(date)
转换在本地时区
如果您想要更多地控制数值,您还可以格式化日期,请参阅this article以获取更多信息
我试过一些可能会帮助你的东西。
编辑:更新了我的代码片段军用时间格式为标准时间
function formatDate (today) {
var newDateItems = new Array();
var dateItems = String(today).split(" ");
dateItems.forEach(function(item, index){
\t if (index > 0 && index < 5) {
if (index == 4){
item = getStandardTime(item);
}
newDateItems.push(item);
}
});
return newDateItems.join(" ");
}
//To format military time into standard time
function getStandardTime(time) {
time = time.split(":");
var hh = Number(time[0]);
var mm = Number(time[1]);
var ss = Number(time[2]);
var timeValue = "";
if (hh > 12) timeValue += hh - 12;
else timeValue += hh;
if (mm < 10) timeValue += ":0" + mm;
else timeValue += ":" + mm
\t
if (ss < 10) timeValue += ":0" + ss;
else timeValue += ":" + ss
timeValue += (hh >= 12) ? " PM" : " AM";
return timeValue
}
var dateToday = new Date();
document.write(formatDate(dateToday));
使用解决方案Date.prototype.toLocaleDateString()
功能:
var date_str = "2016-04-07T03:03:03Z",
options = { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit'},
formatted = (new Date(date_str)).toLocaleDateString('en-US', options),
date_parts = formatted.substring(0, formatted.indexOf(",")).split(" ").reverse().join(" ");
var formatted_date = date_parts + formatted.substr(formatted.indexOf(",") + 1);
console.log(formatted_date);
输出将看起来像以下(根据您的区域设置):
7 Apr 2016, 6:03:03 AM
+1仅仅是因为当您看到一个ISO日期格式时就知道了。 Waaay这些日期/时间问题太多不了解标准格式。 –
哈哈:D谢谢+1 –