如果我用moment.tz.setDefault()
设置默认时刻时区,有没有办法稍后检索当前默认时区?
示例:
const moment = require('moment-timezone');
moment.tz.setDefault('Asia/Tokyo');
console.log(moment.tz.getDefault()); // TypeError: moment.tz.getDefault is not a function
console.log(moment.tz.default); // undefined
console.log(moment.tz.guess()); // America/New_York (my local timezone)
console.log(moment.tz.guess(true)); // America/New_York
// => I want something that will return "Asia/Tokyo"
这与建议的重复不同,因为我不想要浏览器的时区,我特别想知道moment.tz.setDefault()
设置为什么(如果有的话(。
您可以通过moment.defaultZone.name
:实现
const moment = require('moment-timezone');
moment.tz.setDefault('Asia/Tokyo');
console.log(moment.defaultZone.name)
输出:
Asia/Tokyo
在@Kip评论后更新
- 如果未设置默认时区,则
moment.defaultZone
未定义,因此使用moment.defaultZone?.name
是安全的 - 使用文档功能的另一种方法是
moment().format('ZZ')
,它在东京时间返回"+0900"