[英]check if daylight savings time moment js
所以我遇到了夏令时和.isDST()标志的问题。
因此,我有一个时间选择器,用户可以在其中设置一个开始时间,然后我将两个数字值(小时和分钟)设置为类似这样的矩对象。
this.startTime = moment(`${this.hour}:${this.minute} ${this.timeOfDay}`, `hh:mm a`).utc();
现在可以保存所有数据,但是当我得到它时,由于夏时制而返回了一个小时。.现在我知道.isDST()标志,但是我不确定该在哪里设置。
我试过了
this.startTime = moment(`${this.hour}:${this.minute} ${this.timeOfDay}`, `hh:mm a`).utc().isDST();
但是返回的日期无效,我也尝试过返回。
time = moment(startTime).local().format('hh:mm').isDST();
time = moment(startTime).isDST().local().format('hh:mm');
time = moment(startTime).local().isDST().format('hh:mm');
但是这些都不起作用...
解决此问题的正确方法是什么?
编辑
为了澄清..我如何在官方文档中使用.isDST(),它只是说moment().isDST();
所以我该如何检查Ive从utc
转换的local
是否是DST
,然后正确格式化
这显示了它是如何工作的。 您只需要在具有local()或DST适用的特定时区的时刻使用isDST()。 我认为这仅适用于hh:mm。 您可能需要一个实际日期(时间可选)来确定它是否是DST。
console.log(moment().utc().isDST()); console.log(moment().tz("America/New_York").isDST());
<script src="https://momentjs.com/downloads/moment.js"></script> <script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.