我使用 HTML5 ,在 web 应用程序中激活 iOS 上的本机日期时间选择器。
我得到这个日期时间字符串:“2013-08-25T11:49:18.353Z”如何将其解析为我的时区并使其可读(dd-MM-yyyy HH:mm:ss)?
我使用 HTML5 ,在 web 应用程序中激活 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-timezone插件,您可以在其中执行以下操作:
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