gpt4 book ai didi

javascript - 我正在尝试比较 JavaScript 中的两个 DateTime 对象,但它给了我错误的答案

转载 作者:行者123 更新时间:2023-11-28 11:01:05 26 4
gpt4 key购买 nike

我正在将记录的日期时间对象与 Date() 函数生成的当前日期(由 Date() 函数生成)进行映射,但结果与预期不符。

var  apptTime = "2018.01.26.08.30.10.00";
var checkinTime = "2018.01.26.09.45.10.00";

var yappt = apptTime.substring(0,4);
var mappt = apptTime.substring(5,7);
var dappt = apptTime.substring(8,10);
var hrappt = apptTime.substring(11,13);
var mmappt = apptTime.substring(14,16);
var ssappt = apptTime.substring(17,19);
var msappt = apptTime.substring(20,22);

var ycht = checkinTime.substring(0,4);
var mcht = checkinTime.substring(5,7);
var dcht = checkinTime.substring(8,10);
var hrcht = checkinTime.substring(11,13);
var mmcht = checkinTime.substring(14,16);
var sscht = checkinTime.substring(17,19);
var mscht = checkinTime.substring(20,22);

var newapptTime = new Date(yappt,mappt,dappt,hrappt,mmappt,ssappt,msappt);
var newcheckinTime = new Date(ycht, mcht, dcht, hrcht, mmcht, sscht, mscht);
var currTime = new Date();

alert(currTime.getTime() > newcheckinTime.getTime());

给出的答案为 False ,而当前时间是下午 4:10。!!!!

最佳答案

我认为您对函数 geTime 返回的内容有点困惑。

Date.prototype.getTime()

The getTime() method returns the numeric value corresponding to the time for the specified date according to universal time.

getTime() always uses UTC for time representation. For example, a client browser in one timezone, getTime() will be the same as a client browser in any other timezone.

You can use this method to help assign a date and time to another Date object. This method is functionally equivalent to the valueOf() method.

来自 developer.mozilla.org 的示例:

var moonLanding = new Date('July 20, 69 00:20:18 GMT+00:00');

// milliseconds since Jan 1, 1970, 00:00:00.000 GMT
console.log(moonLanding.getTime());
// expected output: -14254782000

因此,getTime 函数返回 1970 年 1 月 1 日午夜与指定日期之间的毫秒数。

您想要完成的是比较日期时间,在您的情况下小时:分钟

以下代码片段将小时转换为分钟,并对每个 Date 对象的分钟进行求和。

var  apptTime = "2018.01.26.08.30.10.00";
var checkinTime = "2018.01.26.09.45.10.00";

var yappt = apptTime.substring(0,4);
var mappt = apptTime.substring(5,7);
var dappt = apptTime.substring(8,10);
var hrappt = apptTime.substring(11,13);
var mmappt = apptTime.substring(14,16);
var ssappt = apptTime.substring(17,19);
var msappt = apptTime.substring(20,22);

var ycht = checkinTime.substring(0,4);
var mcht = checkinTime.substring(5,7);
var dcht = checkinTime.substring(8,10);
var hrcht = checkinTime.substring(11,13);
var mmcht = checkinTime.substring(14,16);
var sscht = checkinTime.substring(17,19);
var mscht = checkinTime.substring(20,22);

var newapptTime = new Date(yappt,mappt,dappt,hrappt,mmappt,ssappt,msappt);
var newcheckinTime = new Date(ycht, mcht, dcht, hrcht, mmcht, sscht, mscht);
var currTime = new Date();

console.log(newcheckinTime);
console.log(currTime);

console.log((currTime.getHours() * 60 + currTime.getMinutes()) > (newcheckinTime.getHours() * 60 + newcheckinTime.getMinutes()));

关于javascript - 我正在尝试比较 JavaScript 中的两个 DateTime 对象,但它给了我错误的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48470316/

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