我正在抓取一个网站,日期有两种形式:
11-22-2011 07:41 AM
Today @ 07:41 AM这两个都是GMT-8。我想从中获得一个unix时间戳,这样我就可以构造一个有意义的date对象
知道这可能是什么时区吗?大约一个月前,该网站发布了GMT-9次。javascript可以自动处理夏令时吗?
我很难解析它们。问题的一部分是时区。
目前,我使用的是Date.js的parseExact
date = Date.parseExact(date + ' PDT', 'MM-dd-yyyy H:mm tt zzz');Hovever,这似乎得到解析12AM作为12:00,而不是0:00。此外,我完全不知道如何处理从today @开始的问题。
发布于 2011-11-23 00:59:33
当我在http://www.datejs.com/上使用交互式解析器尝试您的两个示例时,我得到了预期的结果。
所讨论的时区可能是“美国西海岸”,也就是“太平洋时间”。
不幸的是,在一年中的不同时间,这意味着不同的事情。在春季和夏季,这个时区被称为"PDT“(GMT-0700),其余时间被称为"PST”(GMT-0800)。
更复杂的是,更改的日期与其他区域(例如欧洲)更改的日期不同。
我不认为有一种方法可以将时区值指定给Date.js自动将其考虑在内。
发布于 2011-11-23 01:11:00
您可以编写自己的时区感知的日期解析逻辑,该逻辑将远程服务器的时区考虑在内。
伪代码:
if date starts with "Today @"
replace "Today @" with currentDateInRemoteTimezone in date
endif
parse_timezone-aware(date)发布于 2011-11-23 00:55:54
为什么不直接添加HHHH:mm zzz来获取12:00呢?
https://stackoverflow.com/questions/8230549
复制相似问题