【问题标题】:Adding hours to new Date().toLocaleTimeString将小时数添加到 new Date().toLocaleTimeString
【发布时间】:2020-02-03 02:55:01
【问题描述】:

尝试搜索如何在 JS 中添加或修改 .toLocaleTimeString 的时间,因为该方法不适用于我开始使用的 calc。我有一个输出可以让我远离用户位置几个小时(正数或负数),我希望将其添加到他们的实际时间中。

这就是我想根据输出 -7(如“西 7 小时”)或 7(如“东 7 小时”)来操作和添加/删除小时:

var endTime = new Date(unixUserTime*1000);

endTime.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: true});

我之前尝试过的:

var endTime = new Date(unixUserTime*1000);
// Hours part from the timestamp
var hours = Math.floor(endTime.getHours() + 3);
// Minutes part from the timestamp
var minutes = "0" + endTime.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + endTime.getSeconds();
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
formattedTime.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: true}); //This throws an error

我也尝试转换开始,像这样:

var endTime = new Date(unixUserTime*1000).toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: true}); //This throws an error;
// Hours part from the timestamp
var hours = Math.floor(endTime.getHours() + 3);
// Minutes part from the timestamp
var minutes = "0" + endTime.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + endTime.getSeconds();
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
formattedTime;

【问题讨论】:

    标签: javascript time


    【解决方案1】:

    我建议你使用moment.js

    您可以轻松地使用它,而不会弄乱语言环境:

    moment(date).add(7, 'hours')
    // for offsets
    moment(date).utcOffset(60)
    moment(date).utcOffset('+0100')
    

    【讨论】:

    • 谢谢!当我回到它时,我会尝试它,但我真的很想学会自己做,因为它更好地帮助我从根本上理解如何使用 JS。
    猜你喜欢
    • 2020-12-21
    • 2018-10-11
    • 2021-12-04
    • 2020-10-12
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多