【发布时间】:2019-07-31 07:24:25
【问题描述】:
我尝试使用 JavaScript 获取两个日期之间的日期列表(我已经在 GMT 中实现了)。
示例:
fromDate - 2019-08-27
toDate - 2019-08-30
日期列表
[2019-08-27, 2019-08-28, 2019-08-29, 2019-08-30]
我已经使用下面的 JavaScript 得到了这个数组
if(result.data.closurPeriods.length > 0) {
result.data.closurPeriods.forEach(closure => {
var start = closure.fromDate, //closure.fromDate = 2019-08-27
end = new Date(closure.toDate), //closure.toDate = 2019-08-30
currentDate = new Date(start);
while (currentDate <= end) {
this.closurPeriods.push(this.datePipe.transform(new Date(currentDate), 'yyyy-MM-dd'));
currentDate.setDate(currentDate.getDate() + 1);
}
});
}
上述 JavaScript 仅适用于 GTM 和 localtime(印度)。当我尝试在USA 中运行此脚本时,日期列表数组如下所示
[2019-08-28, 2019-08-28, 2019-08-29]
由于 UTC 不接受这个脚本。
我的问题是如何在
UTC中解决上述脚本
【问题讨论】:
-
没有与此问题相关的 jQuery 或 Angular。它是纯 JavaScript
-
@mplungjan:是的,你是对的。你能告诉我如何为
UTC解决这个JavaScript吗? -
我有点鲁莽。
datePipe.transform是角 -
我建议使用像 Luxon/Moment 这样的 DateTime 库以 UTC 创建 DateTime 对象。
-
@DrewReese:是的,我使用过
moment.twix链接jsfiddle.net/Lkzg1bxb。但我得到了 twix not found 之类的错误
标签: javascript angular date utc