看起来这个特定的函数阻塞了谷歌提供的字符串。例如:
Saturday, 2 December 2017 at 15:00:32 UTC
似乎没有解析,至少使用带有此功能的basex控制台:
>
> xquery fn:parse-ietf-date("Wed, 6 Jun 94 07:29:35 GMT")
1994-06-06T07:29:35Z
Query executed in 0.82 ms.
>
> xquery fn:parse-ietf-date("Sat, 2 December 2017 15:00:32 UTC")
Stopped at ., 1/19:
[FORG0010] Invalid input ('-' expected, 'e' found): 'Sat, 2 December 2017 15:00:32 UTC'.
> xquery fn:parse-ietf-date("Sat, 2 Dec 2017 15:00:32 UTC")
2017-12-02T15:00:32Z
Query executed in 3.45 ms.
>
> xquery fn:parse-ietf-date("Sat, 2 Dec 2017 at 15:00:32 UTC")
Stopped at ., 1/19:
[FORG0010] Invalid input (time expected, 'a' found): 'Sat, 2 Dec 2017 at 15:00:32 UTC'.
>
> xquery fn:parse-ietf-date("Sat, 2 December 2017 15:00:32 UTC")
Stopped at ., 1/19:
[FORG0010] Invalid input ('-' expected, 'e' found): 'Sat, 2 December 2017 15:00:32 UTC'.
>
看起来“at”会造成严重破坏,就像一个完整的月份与一个简短的月份一样。
这个函数能解析这个日期吗?如果不是,什么替代功能可能是合适的?
据推测,谷歌使用标准时间戳。
(数据来自导出为 JSON 的“google hangouts”。)