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

如何转换含小数秒与额外字符的日期时间格式

日期时间字符串转换解决方案

针对你需要将2018-12-30T18:03:23.400Z转换为2018-12-30 18:03:23.4的需求,以下是几种实用的实现方式:

Python 实现

方法1:直接字符串处理(格式固定时首选)

利用字符串替换和截断操作快速处理,适合格式完全固定的场景:

original = "2018-12-30T18:03:23.400Z"
# 替换T为空格,移除末尾的Z
processed = original.replace('T', ' ').rstrip('Z')
# 处理小数秒,去掉末尾多余的0
if '.' in processed:
    date_part, sec_frac = processed.split('.', 1)
    sec_frac = sec_frac.rstrip('0') or '0'  # 若小数部分全为0则保留一个0
    result = f"{date_part}.{sec_frac}"
else:
    result = processed

print(result)  # 输出: 2018-12-30 18:03:23.4

方法2:用datetime模块解析(通用场景)

通过标准库解析ISO格式时间,再按需格式化,能兼容更多时间格式变种:

from datetime import datetime

original = "2018-12-30T18:03:23.400Z"
# 解析UTC时间(Z代表UTC时区)
dt = datetime.fromisoformat(original.replace('Z', '+00:00'))
# 提取毫秒部分并去掉末尾的0
ms_part = str(dt.microsecond // 1000).rstrip('0') or '0'
# 拼接成目标格式
result = f"{dt:%Y-%m-%d %H:%M:%S}.{ms_part}"

print(result)  # 输出: 2018-12-30 18:03:23.4

JavaScript 实现

方法1:字符串直接处理

const original = "2018-12-30T18:03:23.400Z";
// 替换T为空格,移除末尾的Z
let processed = original.replace('T', ' ').slice(0, -1);
// 处理小数秒部分
if (processed.includes('.')) {
    const [datePart, secFrac] = processed.split('.');
    // 正则去掉末尾所有0,若为空则设为0
    const trimmedFrac = secFrac.replace(/0+$/, '') || '0';
    processed = `${datePart}.${trimmedFrac}`;
}

console.log(processed); // 输出: 2018-12-30 18:03:23.4

方法2:用Date对象解析

const original = "2018-12-30T18:03:23.400Z";
const date = new Date(original);

// 拼接日期部分(UTC时区)
const dateStr = `${date.getUTCFullYear()}-${String(date.getUTCMonth() + 1).padStart(2, '0')}-${String(date.getUTCDate()).padStart(2, '0')}`;
// 拼接时间部分
const timeStr = `${String(date.getUTCHours()).padStart(2, '0')}:${String(date.getUTCMinutes()).padStart(2, '0')}:${String(date.getUTCSeconds()).padStart(2, '0')}`;
// 处理小数秒
const ms = date.getUTCMilliseconds();
const fracSec = ms.toString().replace(/0+$/, '') || '0';

const result = `${dateStr} ${timeStr}.${fracSec}`;
console.log(result); // 输出: 2018-12-30 18:03:23.4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:25:17