javascript - 将小时数添加到 new Date().toLocaleTimeString

标签 javascript time

尝试搜索如何在 JS 中添加或修改 .toLocaleTimeString 的时间,因为那个不适用于我以前开始使用的计算器。我有一个输出,它给出了远离用户位置的小时数(正或负),我希望将其添加到他们的实际时间中。

这就是我想要根据输出 -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;

最佳答案

我建议你使用moment.js

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

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

关于javascript - 将小时数添加到 new Date().toLocaleTimeString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241979/

相关文章:

android - 如何在android中计算时间

javascript - 将 AngularJS 货币区域设置添加到末尾

javascript - HTML5 细节和总结可用性问题

javascript - 四舍五入逗号会提高性能吗?

c - 在 strftime 中使用指针目标 (C)

r - 如何提取两个不同时间值之间的营业时间

javascript - 高度为 100% 的主体,背景图像为 : cover to fill enire page not just a viewport - without js if possible

javascript - jQuery html() 保留 data()

sql计算两次之间的两个日期的分钟数

c++ - 在 C++ 软件中加入共享软件限制