Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript日期:在平板电脑上休息一天_Javascript_Date - Fatal编程技术网

Javascript日期:在平板电脑上休息一天

Javascript日期:在平板电脑上休息一天,javascript,date,Javascript,Date,我正在用Javascript处理date 我们的目标是在某个日期展示活动 它在我的电脑上工作得很好 它在我的谷歌像素手机上运行得很好 但是,它在iPad Mini或三星Galaxy Tab A上不起作用 该活动仅在活动前一天和活动后一小时举行 shipments.forEach(shipment =>{ var date = new Date(shipment.Date); if((date.getTime() != day.getTime())){ ship

我正在用Javascript处理date

我们的目标是在某个日期展示活动

它在我的电脑上工作得很好

它在我的谷歌像素手机上运行得很好

但是,它在iPad Mini或三星Galaxy Tab A上不起作用

该活动仅在活动前一天和活动后一小时举行

shipments.forEach(shipment =>{
    var date = new Date(shipment.Date);

    if((date.getTime() != day.getTime())){
      shipments = shipments.filter(x => x.Id != shipment.Id);
    }
})
两台平板电脑的时区似乎设置正常


我尝试了多种方法,用Weinre调试了Safari,但什么也没找到。

默认情况下,对日期对象调用getTime将返回一个类似于unix时间戳的数字
1543609232286

我建议使用日期/时间库,例如

这将允许您进行如下计算:

import { isBefore, isAfter } from 'date-fns'

let before = isBefore(firstDate, secondDate)
let after = isAfter(firstDate, secondDate)

我不知道为什么,我不知道怎么做,但下面的方法是有效的:

shipments.forEach(shipment =>{
    var date = new Date(shipment.Date);
    date.setHours(0,0,0,0)
    var numberDay = shipment.Date.toString().substring(8, 10)
    date.setDate(parseInt(numberDay));

    if((date.getTime() != day.getTime())){
      shipments = shipments.filter(x => x.Id != shipment.Id);
    }
  })

装运日期的数据类型?它是一个或整数?为了重现您的案例,请共享一些
装运的内容。日期
装运。日期是一个日期,除非您能够提供详细信息(例如装运的值。日期和日期以及它们是如何生成的)或重现错误的示例,否则任何答案都将是猜测。
(date.getTime()!=day.getTime())
中的外括号是多余的。getTime返回一个数字,而不是字符串,它是ECMAScript时间值。只是“使用库x”的答案不是答案,它们可能是注释。
var numberDay=shipping.Date.toString().substring(8,10);date.setDate(parseInt(numberDay))将日期设置为其当前值,这是毫无意义的<代码>日期。设置小时数(0,0,0,0)
将时间设置为00:00:00.00。这个问题和答案对任何人都没有用,因为你还没有透露日期是如何设置的或它们的值。我可以猜一个设置为00:00:00,另一个不设置,但是如何可靠地修复这个问题仍然没有答案。