如何检查日期是在语言环境时间之前还是之后

时间:2020-03-20 15:37:32

标签: javascript date time momentjs date-nfs

我正在开发区域新闻应用程序。

如果您在巴黎,您所在的时区是Europe/Paris,那么读者将获得离他们最近的新闻。我们每天早上9点发布新闻。

我们要允许before 9am发布

如何检查9am Europe/Parisnew Date()JavaScript之后还是等于class foo: def __init__(self,length): self.length=length # length @property def length(self): return self._length @length.setter def length(self, val): # do some checks here (e.g. for units, etc.) (same as in the class below) self._length = val class bar: def __init__(self,width): self.width=width # width @property def width(self): return self._width @width.setter def width(self, val): # do some checks here (e.g. for units, etc.)(same as in the class above) self._width = val (无论客户区域是什么)?

  • 为此,我将添加-1hours偏移量,以阻止上午8点发布新闻。
  • 我们已经拥有该检查服务器端,主要用于提醒用户第二天将发布该消息

2 个答案:

答案 0 :(得分:0)

在处理多个时区时。您应该始终以UTC(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours)进行比较。这个想法是

  1. 使用“新日期('1975年8月19日,09:00:00 GMT + 01:00');”在巴黎时区创建当前时间。
  2. 然后使用“ date.getUTCHours();”在UTC获得时间
  3. 然后将该值与客户端时区小时数(以UTC为单位)进行比较。

var parisTime = new Date('March 20, 2020 09:00:00 GMT+01:00');
var parisInUTC = parisTime.getUTCHours();

var ukTime = new Date();
var ukInUTC = ukTime.getUTCHours();

console.log(parisTime);
console.log(parisInUTC);
console.log(ukTime);
console.log(ukInUTC);
console.log(ukInUTC < parisInUTC);

答案 1 :(得分:0)

您可以使用moment-timezone

moment.tz("09:00","HH:mm","Europe/Paris").isSameOrAfter(new Date())