JavaScript如何获取DateTime格式而非字符串的当前UTC时间
JavaScript获取当前UTC时间的实现方案
核心说明
JavaScript没有独立的「UTC DateTime类型」,原生Date对象内部本身就以UTC时间戳的形式存储时间,只是默认输出时会转换为运行环境的本地时区,你直接使用Date对象的UTC相关方法即可操作UTC时间。
常用实现场景
场景1:获取可直接操作的当前UTC时间对象
直接创建Date实例即可,实例自带UTC属性获取方法:
const currentUtcDate = new Date(); // 示例:获取UTC时间各维度值 const utcYear = currentUtcDate.getUTCFullYear(); const utcMonth = currentUtcDate.getUTCMonth() + 1; // 注意返回值范围是0-11,需+1得到1-12的月份 const utcDay = currentUtcDate.getUTCDate(); const utcHour = currentUtcDate.getUTCHours(); const utcMinute = currentUtcDate.getUTCMinutes(); const utcSecond = currentUtcDate.getUTCSeconds();
场景2:获取ISO 8601标准格式的UTC时间字符串
用内置的toISOString()方法,返回的字符串末尾带Z标识UTC时区:
const utcIsoString = new Date().toISOString(); // 输出示例:2024-05-20T14:30:45.123Z console.log(utcIsoString);
常见误区澄清
你原有代码中调用的toUTCString()返回的是RFC 7231格式的字符串(类似Mon, 20 May 2024 14:30:45 GMT),仅适用于展示场景,如果你需要做时间计算、字段提取,直接使用创建的Date实例本身即可,不需要转成字符串后再解析。
内容的提问来源于stack exchange,提问作者SilverLight
相关产品推荐
相关产品推荐

