【问题标题】:error while getting the current time-3hrs in UTC format in javascript在javascript中以UTC格式获取当前时间3小时时出错
【发布时间】:2018-07-29 09:15:42
【问题描述】:

尝试获取当前时间和当前时间 - UTC 中的 3 小时 JavaScript 时间,按照 ISO 8601 格式。

pastTime 不工作。收到错误为“pastTime.setHours(...).toISOString is not a function”

这是代码:

let currentTime = new Date().toISOString();
let pastTime = new Date();
pastTime = pastTime.setHours(new Date().getHours()-3).toISOString();

【问题讨论】:

  • 在你的项目中使用momentjs更好更容易的日期操作,在momentjs中你可以通过moment(realTime, 'HH:mm').subtract(3, 'hours');实现它

标签: javascript


【解决方案1】:

我在这里编辑了你的代码:

var pastTime = new Date();
pastTime.setHours(new Date().getHours()-3);
pastTime = pastTime.toISOString();

您不能一步设置小时并获取 ISO 字符串,如果您要保存 setHours() 函数返回的内容,则 toISOString() 函数接受的格式错误。它从 1970 年 1 月 1 日 00:00:00 UTC 到您检索的时间以毫秒为单位返回。

这就是为什么当您尝试将其保存为过去时间时,会使其格式错误(毫秒),您只需更改值而不将其保存为过去时间,然后使用 ISO 格式保存新版本的过去时间.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    相关资源
    最近更新 更多