You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何将时间转换为24小时制UTC格式?

问题解决:将本地时间转换为24小时制UTC时间

首先纠正一个误解:你输出的2023-03-23T09:28:58.638Z是ISO 8601标准格式,本身就是24小时制,其中的09:28直接对应24小时制的9点28分,12小时制的表示会附带AM/PM标识(比如09:28 AM)。

如果想要输出更直观的24小时制字符串(比如2023-03-23 06:58:00这种格式),可以通过moment的format方法实现,修改后的代码如下:

const startTime = "14:58";
let currentDate = new Date();
let startDate = new Date(currentDate.getTime());
// 解构赋值获取小时和分钟,避免重复split
const [hours, minutes] = startTime.split(":");
startDate.setHours(hours);
startDate.setMinutes(minutes);
startDate.setSeconds(0); // 可选,清除秒数让时间更精准

// 转换为UTC并格式化为24小时制字符串
const startUTCStr = moment(startDate).utc().format("YYYY-MM-DD HH:mm:ss");
console.log(startUTCStr);

关键说明:

  • HH在moment的格式字符串中代表24小时制的小时(范围00-23),如果用hh则是12小时制的小时(范围01-12);
  • 你原代码中得到的UTC时间和输入的14:58有差异,是因为UTC时间是根据你的本地时区偏移计算的,比如如果你的本地时区是东八区(UTC+8),本地14:58对应的UTC时间就是14:58-8小时=06:58;
  • 优化了startTime.split的调用,通过解构赋值一次获取小时和分钟,代码更简洁。

内容的提问来源于stack exchange,提问作者Manish Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:17:24