在 Javascript 中获取绝对当前日期
Get absolute current date in Javascript
我想获取 UTC - 7 时区的当前日期。
我尝试过的每种方法都以本地日期开头,我希望来自任何时区的任何用户都获得相同的日期。
我建议为此目的使用 Moment Timezone 等库,这也将正确处理夏令时更改。
您还可以使用 Date.toLocaleString() 来获取给定时区的格式化时间
function getTimeInTimezone(timezone) {
return moment.tz(timezone);
}
/* Using moment timezone */
let m = getTimeInTimezone("Etc/GMT+7");
console.log("Time in UTC-7 (moment):", m.format("YYYY-MM-DD HH:mm:ss"));
let d = new Date();
console.log("Time in UTC-7 (toLocaleString):", d.toLocaleString('en-GB', { timeZone: "Etc/GMT+7" }));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.25/moment-timezone-with-data-10-year-range.js"></script>
我想获取 UTC - 7 时区的当前日期。
我尝试过的每种方法都以本地日期开头,我希望来自任何时区的任何用户都获得相同的日期。
我建议为此目的使用 Moment Timezone 等库,这也将正确处理夏令时更改。
您还可以使用 Date.toLocaleString() 来获取给定时区的格式化时间
function getTimeInTimezone(timezone) {
return moment.tz(timezone);
}
/* Using moment timezone */
let m = getTimeInTimezone("Etc/GMT+7");
console.log("Time in UTC-7 (moment):", m.format("YYYY-MM-DD HH:mm:ss"));
let d = new Date();
console.log("Time in UTC-7 (toLocaleString):", d.toLocaleString('en-GB', { timeZone: "Etc/GMT+7" }));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.25/moment-timezone-with-data-10-year-range.js"></script>