2013-08-25 30 views

回答

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") 
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")); 
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 
+0

时区是不正确的秒不正确。 使用的字符串“2013-08-25T11:49:18.353Z” 回应:“25-08-2013 11:49:18.353” – user1959328