我使用HTML5,在网络应用程序中激活iOS上的本地日期时间选择器。
我得到这个日期时间字符串:"2013-08-25T11:49:18.353Z"如何将其解析到我的时区并使其可读(dd-MM-yyyy-HH:MM:ss)?
你应该考虑使用moment.js。它有你想要的格式,还有更多。
moment("2013-08-25T11:49:18.353Z").format("YYYY-MM-DD HH:mm:ss")
关于时区,你并没有很好地解释你想要什么。如果你只是想在运行它的设备的本地时区显示这个UTC时间,那么上面的代码正是你所需要的。
然而,如果你正在谈论在特定时区中显示它,那么你也应该查看即时时区插件,在那里你可以做这样的事情:
moment("2013-08-25T11:49:18.353Z").tz("America/Los_Angeles").format("YYYY-MM-DD HH:mm:ss")
终于成功了!
我是这样做的:http://jsfiddle.net/h4tFz/
Date.prototype.format = function(format) //author: meizz
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
alert(new Date("2013-08-25T11:49:18.353Z").format("yyyy-MM-dd h:mm:ss"));
var date=thestring.split("T")[0];
var year=date.split("-")[0];
var month=date.split("-")[1];
var day=date.split("-")[2];
var time=thestring.split("T")[1];
var hour=time.split(":")[0];
var minute=time.split(":")[1];
var second=time.split(":")[2].replace("Z","");
var formattedstring=day+"-"+month+"-"+year+" "+hour+":"+minute+":"+second