代码之家  ›  专栏  ›  技术社区  ›  p u

有没有办法用javascript从UTC时间中提取时间字符串

  •  -2
  • p u  · 技术社区  · 7 年前

    我有一个UTC日期 即 Sat, 19 Jan 2019 05:40:07 GMT . 我想从给定的日期中提取时间字符串 即 05:40:07 timestamp . 所以,我自己写了下面的代码来提取时间

    var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
    console.log(date.toISOString().split("T")[1].split(".")[0]);

    4 回复  |  直到 7 年前
        1
  •  1
  •   p u    7 年前

    var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
    console.log(date.toISOString().split("T")[1].split(".")[0]);
        2
  •  0
  •   Adam Millerchip    7 年前

    怎么样 toLocaleTimeString() ?

    var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
    console.log(date.toLocaleTimeString('en-US', {timeZone: 'UTC', hour12: false}));

    如果你想避免 Date 对象,您只需分析字符串:

    var date = 'Sat, 19 Jan 2019 05:40:07 GMT'
    var timeRegex = /(\d\d):(\d\d):(\d\d)/
    console.log(timeRegex.exec(date)[0])
        3
  •  0
  •   Sachin Aghera    7 年前
       var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
       var result=date.getUTCHours()+':'+date.getUTCMinutes()+':'+date.getUTCSeconds();
    
        4
  •  0
  •   Bharata colxi    7 年前

    我不知道“JSON是你的另一种格式吗?”如果没有,您可以按如下方式操作:

    var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT'); 
    console.log(date.toJSON().split("T")[1].split(".")[0]);
    //or even shorter:
    console.log(date.toJSON().slice(-13, -5));

    这比你的方法稍微短一点。

    在其他情况下,您可以这样做:

    var dateStr = 'Sat, 19 Jan 2019 05:40:07 GMT'; 
    var date = new Date(dateStr); 
    console.log(dateStr.slice(-12, -4));