【问题标题】:how to get only time from date in ISO formate如何仅从 ISO 格式的日期获取时间
【发布时间】:2018-08-17 07:46:11
【问题描述】:

如何仅从 ISO 格式的日期中提取时间? 我试过这个:

var d = new Date('1970-01-15T03:32:12.000Z'); //ISO-8601 formatted date returned from server
console.log(d.getTime());// 1222332000

预期的操作是:03:32:12

【问题讨论】:

    标签: javascript iso


    【解决方案1】:

    由于您的服务器返回具有预定义格式的 ISO-8601 格式的日期,您可以使用 toISOString() 将其转换为 ISO 字符串,然后获取时间值的子字符串:

    var d = new Date('1970-01-15T03:32:12.000Z'); 
    console.log(d.toISOString().substr(11,8));

    【讨论】:

      【解决方案2】:

      Date.getTime() 以 UNIX 纪元格式返回时间。 https://en.wikipedia.org/wiki/Unix_time

      要仅访问您感兴趣的参数,您可以使用Date.getMinutes()Date.getMinutes() 等。请参阅 MDN 上的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

      注意:Date 合作时不要忘记考虑时区 的时间,尤其是当您的应用在不同区域运行时。

      【讨论】:

        【解决方案3】:

        您必须使用Date.prototype 方法手动构建时间字符串:getHoursgetMinutesgetSeconds

        或者使用moment.js库。

        【讨论】:

          【解决方案4】:

          Date.getTime() 为您提供 unix 时间戳,即自 1970 年 1 月 1 日以来的秒数;

          getTime()方法根据世界时返回指定日期时间对应的数值。

          来自MDN

          您需要自己格式化日期,方法是连接Date.getHours()Date.getMinutes()Date.getSeconds() 方法的输出,或者使用预定义的格式化函数之一,例如Date.toTimeString()。查看docs 以选择您的选择。

          【讨论】:

            【解决方案5】:

            您可以使用getHours()getMinutes()getSecondes()。然后你可以将它与字符串或对象一起使用。

            【讨论】:

              【解决方案6】:

              尝试以下方法:

              d.toTimeString().split(' ')[0]
              

              【讨论】:

                【解决方案7】:

                您可以使用moment.js 解析您喜欢的任何格式。

                如果您认为 moment.js 太大,还有另一个库调用 dayjs。相同的时尚 API,但只有 2KB。 (很遗憾,你还不能用 dayjs 做 UTC 时间。

                更新:感谢坤通知更新。从 v1.8.9 开始,您现在可以将 UTC 与 dayjs 插件一起使用。

                var d = new Date('1970-01-15T03:32:12.000Z');
                console.log(moment(d).utc().format('HH:mm:ss'));
                dayjs.extend(dayjs_plugin_utc)
                console.log(dayjs(d).utc().format('HH:mm:ss'));
                <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
                <script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.9/dayjs.min.js"></script>
                <script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.9/plugin/utc.js"></script>

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-05-30
                  • 2022-07-27
                  • 2020-06-02
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多