jQuery datetime to_string(iOS html5 datetime picker)

时间:2013-08-25 11:56:08

标签: javascript jquery ios datetime timezone

我使用HTML5,在网络应用中激活iOS上的原生日期时间选择器。

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

3 个答案:

答案 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