小写
我正在使用moment.js,并希望使用显示用户的本地时区名称,如CET或PST
var timezone_local = moment.tz().zoneName();
document.getElementById('timezone_local').innerHTML = timezone_local;
这些线路不起作用。谢谢你的帮助!
根据官方时刻文档,您可以使用时刻时区
moment.tz.guess();
有关进一步的格式设置,请参阅。
编辑:
var zone_name = moment.tz.guess();
var timezone = moment.tz(zone_name).zoneAbbr()
console.log(timezone);
请参阅此工作小提琴。
我就是这么做的。格式中的z
添加了时区的正确缩写。
moment().tz('America/New_York').format('MMMM Do YYYY, h:mm a z');
z
的.format("z")
只打印时区缩写。
以下是几个例子:
let currentTime = moment().tz(moment.tz.guess());
console.log(currentTime.format("z")); // PST
let parisTime = moment().tz("Europe/Paris");
console.log(parisTime.format("z")); // CET
let indiaTime = moment().tz("Asia/Kolkata");
console.log(indiaTime.format("z")); // IST
let newYorkTime = moment().tz("America/New_York");
console.log(newYorkTime.format("z")); // EST
let newYorkTimeDuringDST = moment("2020-08-01").tz("America/New_York");
console.log(newYorkTimeDuringDST.format("z")); // EDT
var timeZone = moment.tz.guess();
const zoneName = moment.tz(timeZone).zoneName();
return moment().tz("America/New_York").zoneName();
包含moment.js和moment-timezone-with-data.js javascript库。
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data.js"></script>
然后使用以下代码获取浏览器时区名称。
<script>
var timezone = moment.tz.guess();
console.log(timezone);
</script>
请在浏览器控制台中查看时区名称。