我使用HTML5,在网络应用中激活iOS上的原生日期时间选择器。
我得到这个日期时间字符串:“2013-08-25T11:49:18.353Z” 我如何解析它到我的时区并使其可读(dd-MM-yyyy HH:mm:ss)?
答案 0 :(得分:2)
您应该考虑使用moment.js。它具有您所追求的格式,以及更多。
moment("2013-08-25T11:49:18.353Z").format("YYYY-MM-DD HH:mm:ss")
关于时区,你并没有真正解释过你的经历。如果您只想在运行它的设备的本地时区显示此UTC时间,那么上面的代码正是您所需要的。
但是,如果您正在讨论在特定时区中显示它,那么您还应该查看moment-timezone插件,您可以在其中执行以下操作:
moment("2013-08-25T11:49:18.353Z").tz("America/Los_Angeles").format("YYYY-MM-DD HH:mm:ss")
答案 1 :(得分:0)
终于搞定了!
我就是这样做的: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"));
答案 2 :(得分:0)
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