我在使用momentjs库时遇到了麻烦
行
moment("Mon Oct 14 01:00:00 GMT 2013") parses correctly
但行
moment("Mon Oct 14 01:00:00 BST 2013") throws an invalid date
我已经尝试构建一个格式字符串,但我认为我需要的zz格式已被弃用,有没有办法让它完全跳过BST / GMT位,因为我只对日期感兴趣
提前致谢。
答案 0 :(得分:3)
时区缩写不是唯一的,因此无法解析它们。您可以通过将任何非格式字符作为占位符来忽略它:
moment("Mon Oct 14 01:00:00 BST 2013","ddd MMM DD HH:mm:ss ? YYYY")
但是你应该知道,忽略它,你将假设代码运行的计算机的本地时区。将您的计算机设置为其他时区,然后在此处拨打.format()
,您就会明白我的意思。
也许您不关心时区,只想将其重新格式化为其他内容。这没关系,但如果由于计算机本地时区的夏令时转换而提供的日期无效,该怎么办?您的浏览器将向后或向前跳过,具体取决于您运行的浏览器。为避免这种情况,您应该使用UTC而不是本地时间。即使您的输入值完全来自某个其他时区,但使用UTC也可以确保它不会受到损坏。
moment.utc("Mon Oct 14 01:00:00 BST 2013","ddd MMM DD HH:mm:ss ? YYYY")