📅  最后修改于: 2023-12-03 15:10:08.842000             🧑  作者: Mango
如果您开发的应用需要支持多个国家地区的时区,那么您需要了解如何在 JavaScript 中实现按国家地区划分的时刻格式。
Moment.js 是一款非常流行的 JavaScript 日期处理库,它支持多种时区,可以轻松地将日期转换为指定时区的日期,并格式化为字符串。
通过 NPM 安装 Moment.js:
npm install moment
// 以 UTC 时间创建一个 Moment 对象
const momentUtc = moment.utc('2021-01-01 00:00:00');
// 将 UTC 时间转为美国纽约的本地时间
const momentNy = momentUtc.clone().tz('America/New_York');
console.log(momentNy.format()); // "2020-12-31T19:00:00-05:00"
通过 moment.utc
创建一个 UTC 时间的 Moment 对象,然后通过 moment.tz
将它转为指定时区的日期。
const momentNy = moment().tz('America/New_York');
console.log(momentNy.format('YYYY-MM-DD HH:mm:ss')); // "2022-08-23 07:30:00"
通过 moment.format
将 Moment 对象格式化为指定格式的字符串。
除了 Moment.js,JavaScript 还提供了 Intl API,可以用来格式化日期、时间、数字等。
// 以 UTC 时间创建一个 Date 对象
const dateUtc = new Date('2021-01-01T00:00:00Z');
// 将 UTC 时间转为美国纽约的本地时间
const dateNy = new Date(dateUtc.toLocaleString('en-US', {
timeZone: 'America/New_York'
}));
console.log(dateNy.toISOString()); // "2020-12-31T19:00:00.000Z"
通过 toLocaleString
将 Date 对象转为指定时区的日期。
const dateNy = new Date();
const options = {
timeZone: 'America/New_York',
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: false
};
console.log(dateNy.toLocaleString('en-US', options)); // "08/23/2022, 07:30:00"
通过 toLocaleString
将 Date 对象格式化为指定格式的字符串,并指定选项。
Moment.js 和 Intl API 可以让您轻松地将日期转换为指定时区的日期,并格式化为字符串。需要根据应用场景选择合适的方案。
返回的markdown格式如下:
如果您开发的应用需要支持多个国家地区的时区,那么您需要了解如何在 JavaScript 中实现按国家地区划分的时刻格式。
Moment.js 是一款非常流行的 JavaScript 日期处理库,它支持多种时区,可以轻松地将日期转换为指定时区的日期,并格式化为字符串。
通过 NPM 安装 Moment.js:
npm install moment
// 以 UTC 时间创建一个 Moment 对象
const momentUtc = moment.utc('2021-01-01 00:00:00');
// 将 UTC 时间转为美国纽约的本地时间
const momentNy = momentUtc.clone().tz('America/New_York');
console.log(momentNy.format()); // "2020-12-31T19:00:00-05:00"
通过 moment.utc
创建一个 UTC 时间的 Moment 对象,然后通过 moment.tz
将它转为指定时区的日期。
const momentNy = moment().tz('America/New_York');
console.log(momentNy.format('YYYY-MM-DD HH:mm:ss')); // "2022-08-23 07:30:00"
通过 moment.format
将 Moment 对象格式化为指定格式的字符串。
除了 Moment.js,JavaScript 还提供了 Intl API,可以用来格式化日期、时间、数字等。
// 以 UTC 时间创建一个 Date 对象
const dateUtc = new Date('2021-01-01T00:00:00Z');
// 将 UTC 时间转为美国纽约的本地时间
const dateNy = new Date(dateUtc.toLocaleString('en-US', {
timeZone: 'America/New_York'
}));
console.log(dateNy.toISOString()); // "2020-12-31T19:00:00.000Z"
通过 toLocaleString
将 Date 对象转为指定时区的日期。
const dateNy = new Date();
const options = {
timeZone: 'America/New_York',
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: false
};
console.log(dateNy.toLocaleString('en-US', options)); // "08/23/2022, 07:30:00"
通过 toLocaleString
将 Date 对象格式化为指定格式的字符串,并指定选项。
Moment.js 和 Intl API 可以让您轻松地将日期转换为指定时区的日期,并格式化为字符串。需要根据应用场景选择合适的方案。