我在使用日期时遇到了javascript夏令时的问题。有关国家是英国。
早些时候,在3月31日之前,以下代码给出了准确的日期:
var caseClosed = new Date(now.getUTCFullYear(), now.getUTCMonth(),
now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
因此,当我使用它来区分两个日期,上面代码检索的日期和另一个日期(来自遗留系统,根据系统日期时间存储正确的日期)时,我得到了正的正确值。
但是在那个日期之后,今天说,无论何时我使用上面的代码,我都会少一个小时;这导致两个日期之间的负值。
比如说,如果时间是18:06,我使用上面的代码得到17:06。所以我尝试使用以下代码,它现在给了我正确的时间:
var caseClosed = new Date(now.getFullYear(), now.getMonth(),
now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());
任何人都可以解释一下发生了什么,如果上面的代码(不使用UTC的东西)即使没有额外的一小时(60分钟)也能解决DayLight节省的问题吗?
答案 0 :(得分:1)
嗯,UTC日期与系统日期不同。虽然系统日期受到日光变化的影响,但UTC不是....请注意,如果您希望使用此值在服务器上存储任何内容,则应使用服务器时间,而不是客户端时间......