JavaScript与时区的日期差异

梅娜·帕特尔(Meena Patel)

我在javascript中非常陌生,并尝试通过设置时区获得日差。我的脚本如下

let localCurrentDate = new Date();
let booking_date = '06/11/2020';
var inputdate = booking_date + ' ' + '00:00:00 UTC+2';
const oneDay = 24 * 60 * 60 * 1000;
// date eg; "006/15/2020 00:00:00 UTC+2"
var utc2Date = inputdate;
let parsedDate = new Date(utc2Date);
//let currentDate = new Date();
let curDate = new Date(localCurrentDate.toLocaleString("en-US", {
  timeZone: "Europe/Rome"
}));
let diffTime = Math.abs(curDate - parsedDate);
let diffDays = Math.ceil(diffTime / oneDay);
//return diffDays;
console.log("input date" + parsedDate);
console.log("current date" + curDate);
console.log("day difference: " +diffDays);

但是由于我将输入日期设置为时间00:00:00,并且当前时间获取了当前时间,所以现在相差+1天了。我可以知道如何在无效时间获得日差吗?或者如何通过获取当前日期将时间设置为00:00:00?我想设置和使用时区。谢谢!

卡兰

尝试将您inputdateUTC日期转换日期,然后使用new Date()获取inputdate对象来获取当前时区。然后您可以得到difference

更新了代码let parsedDate = new Date((new Date(utc2Date)).toUTCString());

在下面检查。

let localCurrentDate = new Date();
let booking_date = '2020-06-12';
var inputdate = booking_date + ' ' + '00:00:00 UTC+2';
const oneDay = 24 * 60 * 60 * 1000;
// date eg; "006/15/2020 00:00:00 UTC+2"
var utc2Date = inputdate;
let parsedDate = new Date((new Date(utc2Date)).toUTCString());
//let currentDate = new Date();
let curDate = new Date();
let diffTime = Math.abs(curDate - parsedDate);
let diffDays = Math.ceil(diffTime / oneDay);
//return diffDays;
console.log("input date" + parsedDate);
console.log("current date" + curDate);
console.log("day difference: " +diffDays);

如果您只想与日期取得差异而不考虑时间(将时间设置为00:00:00.000),请使用date.setHours(0,0,0,0);

这是代码片段。

let localCurrentDate = new Date();
let booking_date = '2020-06-12';
var inputdate = booking_date + ' ' + '00:00:00 UTC+2';
const oneDay = 24 * 60 * 60 * 1000;
// date eg; "006/15/2020 00:00:00 UTC+2"
var utc2Date = inputdate;
let parsedDate = new Date((new Date(utc2Date)).toUTCString());
//let currentDate = new Date();
let curDate = new Date();
curDate.setHours(0,0,0,0);   // set time to 00:00:00.000
parsedDate.setHours(0,0,0,0); // set time to 00:00:00.000
let diffTime = Math.abs(curDate - parsedDate);
let diffDays = Math.ceil(diffTime / oneDay);
//return diffDays;
console.log("input date" + parsedDate);
console.log("current date" + curDate);
console.log("day difference: " +diffDays);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回日期+考虑时区差异

来自分类Dev

javascript日期时区问题

来自分类Dev

将javascript日期对象发送到服务器而不调整时区差异

来自分类Dev

日期差异Javascript

来自分类Dev

与javascript的日期差异

来自分类Dev

在本地时区解析JavaScript日期

来自分类Dev

在本地时区解析JavaScript日期

来自分类Dev

如何设置JavaScript日期的时区?

来自分类Dev

C#计算出时区差异的时间和日期

来自分类Dev

Grafana将时区差异添加到日期

来自分类Dev

Java日期字符串解析创建时区差异

来自分类Dev

计算JavaScript中的日期差异

来自分类Dev

javascript时区怪异:new Date()在不同时区创建日期

来自分类Dev

Javascript中特定日期的时区名称的时区偏移

来自分类Dev

比较Javascript和时区中的日期

来自分类Dev

从javascript中的日期中删除本地时区?

来自分类Dev

将带时区的Javascript日期声明为0

来自分类Dev

Javascript中的时区敏感日期比较

来自分类Dev

比较没有时区的JavaScript日期

来自分类Dev

没有时区的Javascript日期

来自分类Dev

时区之间的Python差异

来自分类Dev

计算JavaScript中日期之间的差异

来自分类常见问题

如何在Java 8中比较两个日期之间的分钟差异,同时还要考虑时区差异?

来自分类Dev

两个时区格式的日期之间的moment.js差异

来自分类Dev

比较两个日期而不考虑它们的时区差异的最佳方法?

来自分类Dev

Javascript Date()通过日期与日期时间之间的差异

来自分类Dev

创建JavaScript日期时如何指定时区?

来自分类Dev

javascript将日期时间解析为指定的时区

来自分类Dev

JavaScript根据浏览器时区更改我的日期