我想将启动时间与当前时间进行比较,结果很奇怪。
从字符串中构建日期,如下所示:
fechIni = "2019-02-07"
timeIni = "17:40"
var datepartsIni = fechIni.split("-");
var horapartsIni = timeIni.split(":");
var dateIni = new Date(datepartsIni[0], datepartsIni[1], datepartsIni[2], horapartsIni[0], horapartsIni[1]);
如果打印dateIni,我会得到一些类似的东西:2019年3月7日星期四17:40:00 GMT-0300(智利德拉维拉诺)女巫我认为是正确的。
然后,我将该日期与当前日期进行比较(因为不允许做某事)。
var currentdate = new Date();
当我比较它们时(想象dateIni比currentdate早):
if (dateIni > currentdate) {... do stuff ...}
当它应该为假时,我就为真。我尝试使用.valueOf(),转换为milis,转换为纪元并计算差值...但是我无法解决问题。
我附上控制台输出和代码的屏幕截图。
更新: 解决了!!诀窍是设置日期:
var dateFin = new Date(datepartsFin[0], datepartsFin[1] - 1, datepartsFin[2], horapartsFin[0], horapartsFin[1]);
代替
var dateFin = new Date(datepartsFin[0], datepartsFin[1], datepartsFin[2], horapartsFin[0], horapartsFin[1]); //WRONG in my case