如何解决带有时区缩写的Dayjs格式,即moment.js中的``z''
尝试从Moment.js迁移到Dayjs,但我唯一无法工作的是时区缩写。
dayjs('2020-07-06T14:30:00.000-04:00').tz(dayjs.tz.guess()).format('Do MMM YYYY [at] HH:MMa z')
通过上述调用,我期望6th Jul 2020 at 08:07am EDT
,但目前我只是在z
所在的地方得到EDT
。
我已经添加了utc和timezone插件,并且看不到任何其他插件才能完成此工作,我在Dayjs格式文档中注意到z并未列出,但在网上搜索时,我看到很多人说解决方案是{ {1}},但format不需要第二个参数?
好像它已添加到tz-plugin https://github.com/iamkun/dayjs/pull/325/files#diff-cad460a5e46a2a48c59e95356c683820R195
这是一个带有问题示例的代码沙箱: https://codesandbox.io/s/hungry-knuth-r58gz
---编辑
已删除对tz abbr的支持: https://github.com/iamkun/dayjs/pull/448/commits/e64c03cea79c579bcd3c4caf235b4724e56614d4
解决方法
在dayjs的1.9.0版本中添加了z
格式设置选项:https://github.com/iamkun/dayjs/pull/1069
更新到最新版本并正确设置插件,它应该可以工作。下面的例子
var dayjs = require("dayjs")
var utc = require("dayjs/plugin/utc")
var timezone = require("dayjs/plugin/timezone")
var advanced = required("dayjs/plugin/advancedFormat")
dayjs.extend(timezone)
dayjs.extend(utc)
dayjs.extend(advanced)
dayjs().tz('Europe/Paris').format('DD/MM/YYYY z')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。