1

我使用 HTML5 ,在 web 应用程序中激活 iOS 上的本机日期时间选择器。

我得到这个日期时间字符串:“2013-08-25T11:49:18.353Z”如何将其解析为我的时区并使其可读(dd-MM-yyyy HH:mm:ss)?

4

3 回答 3

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")
于 2013-08-25T17:17:39.687 回答
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"));
于 2013-08-25T12:21:23.407 回答
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
于 2013-08-25T12:22:17.210 回答