0

最近,我在向Date. 为什么第二个示例产生11:00而不是12:00

def addWeek(s: String) = {
  val df = new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm")
  val utcMillisSinceEpoch = df.parse(s).getTime
  val weekMillis = 1000L * 60L * 60L * 24L * 7L
  df.format(new java.util.Date(utcMillisSinceEpoch + weekMillis))
}
addWeek("2013/10/01 12:00") // 2013/10/08 12:00
addWeek("2013/10/21 12:00") // 2013/10/28 11:00
addWeek("2013/11/21 12:00") // 2013/11/28 12:00
4

2 回答 2

2

夏令时在 10 月底结束。因此,第二个addWeek电话将您的日期转移到夏令时结束。

于 2013-06-07T14:07:41.400 回答
1

根据您的区域设置,夏令时可能会在该期间结束。当 DST 结束时,重复一小时。

看起来你在德国。在该语言环境中,DST 于 10 月 27 日星期日结束。

于 2013-06-07T14:06:28.783 回答