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

如何将2021-10-04 05:00:00.000Z格式时间拆分出日期、时、分、秒

ISO 8601 UTC时间拆分实现方案

你手里的2021-10-04 05:00:00.000Z是带毫秒标识的标准ISO 8601格式UTC时间,以下是不同常用场景的拆分方法:

通用字符串切割法(无语言限制)

不需要依赖日期解析库,直接按固定格式切割字符串即可,适合所有编程语言:

  • 按空格切割字符串,第一段内容就是完整日期,输出为2021-10-04
  • 取切割后的第二段内容,按.切割去掉末尾的000Z后缀,得到05:00:00格式的时间串
  • 把时间串按:分割,依次得到小时05、分钟00、秒00

各编程语言实现示例

JavaScript 实现

const timeStr = '2021-10-04 05:00:00.000Z'
// 方法1:直接字符串切割
const [dateField, timePart] = timeStr.split(' ')
const [hh, mm, ss] = timePart.split('.')[0].split(':')

// 方法2:用Date对象解析(方便后续时区转换等扩展操作)
const dt = new Date(timeStr)
const utcDate = `${dt.getUTCFullYear()}-${String(dt.getUTCMonth()+1).padStart(2,'0')}-${String(dt.getUTCDate()).padStart(2,'0')}`
const utcHh = String(dt.getUTCHours()).padStart(2,'0')
const utcMm = String(dt.getUTCMinutes()).padStart(2,'0')
const utcSs = String(dt.getUTCSeconds()).padStart(2,'0')

Python 实现

from datetime import datetime

time_str = '2021-10-04 05:00:00.000Z'
# 方法1:字符串切割
date_field = time_str.split(' ')[0]
hh, mm, ss = time_str.split(' ')[1].split('.')[0].split(':')

# 方法2:日期对象解析
dt = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S.%fZ')
date_field = dt.strftime('%Y-%m-%d')
hh = dt.strftime('%H')
mm = dt.strftime('%M')
ss = dt.strftime('%S')

MySQL 数据库实现

如果数据存储在MySQL中,可直接用内置函数拆分:

SELECT 
  DATE(时间字段名) AS date_field,
  LPAD(HOUR(时间字段名), 2, '0') AS hh,
  LPAD(MINUTE(时间字段名), 2, '0') AS mm,
  LPAD(SECOND(时间字段名), 2, '0') AS ss
FROM 你的表名;

注意:时间末尾的Z代表UTC零时区,如果你的业务需要使用本地时区的时间,需要先完成时区转换再做拆分,避免出现日期/时间偏移错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:07