在您的 Javascript 应用程序中,存储的日期遵循特定格式,“2011年9月24日。”尝试使用此值创建新的 Date 对象时,您遇到了一个问题,即返回的日期始终是休息日。
要深入研究这种差异,理解 JS Date 对象如何解释字符串输入至关重要。在转换不同的日期字符串格式时,Date 对象会表现出某些异常情况。让我们看几个例子:
当您使用字符串“2011-09-24”创建 Date 对象时, Date 对象将其解释为表示 2011 年 9 月 23 日 17:00:00 的时间戳GMT-0400(东部夏令时间)。因此,返回的日期与您的预期结果相差一天。
但是,如果将字符串格式更改为“09-24-2011”(切换为月-日-年),则 Date 对象会正确解释并返回 2011 年 9 月 24 日。
另一个有趣的观察是在日期字符串中使用连字符 (-) 和正斜杠 (/) 之间的区别。将分隔符更改为正斜杠可以实现准确的日期解析,如“2011/09/24”示例所示。
For包含附加信息(如时间或时区)的日期字符串,适用略有不同的解析规则。例如,“2011-09-24T00:00:00”仍然会产生不正确的日期,但用正斜杠替换连字符并删除时间部分将产生所需的结果。
如果您在解析某些日期字符串格式时遇到挑战,您还可以使用单独的日期构造方法Date 构造函数的参数方法。此方法允许您提供年、月、日、甚至时间和时区的参数,如提供的示例中所示。
为了清楚起见,值得注意的是,所提供的示例可能会根据您的情况表现出不同的行为当前时区和时间。
以上是为什么我的 Javascript 日期对象返回不正确的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!