gpt4 book ai didi

javascript - 在javascript中转换为gmt日期的函数

转载 作者:行者123 更新时间:2023-11-30 13:21:18 25 4
gpt4 key购买 nike

我有一个出发日期 = 日期字符串 (16-Apr-2012)、时间字符串 (05:00) 和 TimeZone(Asia/Dubai)and arraivalDate = date string(16-Apr-2012), time String(02:00), and TimeZone(America/New_York)

现在我需要比较以上日期即,

if (departureDate > arraivalDate) {
// do something
}

此比较的目的是检查到达时间是否早于出发时间。javascript 中是否有任何函数可以执行此操作?请提供完整的功能..

最佳答案

查看Date object文档。

getTime该方法允许您根据世界时获取与指定日期的时间对应的数值。这意味着 getTime 方法返回的值是自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。

这意味着您可以执行以下操作:

if (departureDate.getTime() > arrivalDate.getTime()) {
// Do something
}

前提是您通过以下方式声明了您的日期:

var departureDate = new Date(Date.UTC(year, month, day, hour, minute, second))
arrivalDate = new Date(Date.UTC(year, month, day, hour, minute, second))

因此它尊重时区。不过,您需要指定 UTC 日期。 Javascript 没有比这更好的处理时区的内置方法。正如我的第一句话所说,请查看有关 Date 对象的文档。

编辑:在聊天中与您交谈后,这是我认为您想要的:

根据你有以下内容:

var orgti = document.getElementById('orginTimeZone').value; 
var desct = document.getElementById('descTimeZone').value;
var selfwDepDate = document.forms[0].fwDepartureDate.value;
var selfwDepTime = document.forms[0].fwDepartureTime.value;
var selfwArrDate = document.forms[0].fwArrivalDate.value;
var selfwArrTime = document.forms[0].fwArrivalTime.value;

您可以这样做来比较两个日期:

var departureDate = new Date( Date.UTC( selfwDepDate + selfwDepTime ) ) // This creates a date with what you got
var arrivalDate = new Date( Date.UTC( selfwArrDate + selfwArrTime ) ) // This too

// Now the tricky part: you substract the timezone, so that you get the same referential for both dates
departureDate = departureDate.getTime() - ( orgit * 3600000 ) // Multiplying by 3600000 to transform hours into milliseconds since "getTime" returns milliseconds
arrivalDate = arrivalDate.getTime() - ( desct * 3600000 ) // Same

// Now, you've got two timestamps based on dates with the same referential. You can use:
if ( departureDate > arrivalDate ) {
// Do something
}

关于javascript - 在javascript中转换为gmt日期的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com