我有一个始终将日期存储为UTC的网络应用程序,但它们需要分别以GMT / BST的形式显示给用户。
我有一个UTC / GMT日期(2013年3月30日22:00),我每小时都要移动到GMT / BST边界。我正在使用setTime()
方法操作日期。
因此,我的输入时间戳,显示时间,UTC时间如下:
- 1364808000 - 22:00 GMT + 0000 - 22:00
- 1364685500 - 23:00 GMT + 0000 - 23:00
- 1364688000 - 00:00 GMT + 0000 - 00:00
- 1364691600 - 02:00 GMT + 0100 - 01:00
- 1364695200 - 03:00 GMT + 0100 - 02:00
- 1364698800 - 04:00 GMT + 0100 - 03:00
当机器处于GMT时,它输出:
- 1364808000 - 22:00 GMT + 0000 - 22:00
- 1364685500 - 23:00 GMT + 0000 - 23:00
- 1364688000 - 00:00 GMT + 0000 - 00:00
- 1364691600 - 02:00 GMT + 0100 - 01:00
- 1364695200 - 03:00 GMT + 0100 - 02:00
- 1364698800 - 04:00 GMT + 0100 - 03:00
当机器处于BST状态时,它会输出:
- 1364808000 - 22:00 GMT + 0000 - 22:00
- 1364685500 - 23:00 GMT + 0000 - 23:00
- 1364688000 - 00:00 GMT + 0000 - 00:00
- 1364691600 - 00:00 GMT + 0000 - 01:00
- 1364695200 - 02:00 GMT + 0100 - 02:00
- 1364698800 - 03:00 GMT + 0100 - 03:00
现在,在我看来,最近3个日期并不正确。
有什么想法吗?
这是一个小提琴:http://jsfiddle.net/twilson/WRbyh/