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

Python中如何将1975-07-14T16:32:47.000Z转换为14 July 1975格式?

数据库日期字符串转网页显示格式实现方案

针对数据库返回的1975-07-14T16:32:47.000Z格式日期字符串,需转换为14 July 1975格式用于UI自动化测试对比,以下是主流自动化测试常用语言的实现方法:

Python 实现

利用datetime模块解析UTC日期并格式化,注意显式处理时区避免偏差:

from datetime import datetime

db_date_str = "1975-07-14T16:32:47.000Z"
# 替换Z为+00:00,适配fromisoformat解析规则
utc_date = datetime.fromisoformat(db_date_str.replace("Z", "+00:00"))
# 格式化为DD MonthName YYYY格式
formatted_date = utc_date.strftime("%d %B %Y")
# 输出结果:14 July 1975

如果系统默认locale不是英文,需先设置英文locale确保月份名称正确:

import locale
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')

Java 实现(Java 8+)

使用java.time包的API处理UTC时间,指定英文Locale保证月份格式:

import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class DateFormatConverter {
    public static void main(String[] args) {
        String dbDateStr = "1975-07-14T16:32:47.000Z";
        // 解析UTC时间戳
        Instant utcInstant = Instant.parse(dbDateStr);
        // 定义目标格式,绑定UTC时区和英文Locale
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.ENGLISH)
                .withZone(ZoneId.of("UTC"));
        String formattedDate = formatter.format(utcInstant);
        // 输出结果:14 July 1975
    }
}

JavaScript 实现(适用于Cypress/Playwright等前端自动化框架)

通过Date对象和toLocaleDateString方法直接格式化,指定UTC时区和英文格式:

const dbDateStr = "1975-07-14T16:32:47.000Z";
const utcDate = new Date(dbDateStr);
// 配置格式化选项:2位数日期、完整月份名、4位数年份,强制UTC时区
const formattedDate = utcDate.toLocaleDateString('en-GB', {
  day: '2-digit',
  month: 'long',
  year: 'numeric',
  timeZone: 'UTC'
});
console.log(formattedDate); // 输出:14 July 1975

关键注意事项

  • 必须指定UTC时区:数据库返回的Z代表UTC时间,若不指定时区转换,本地时区可能导致日期偏移(如东八区可能将14日转为15日)
  • 确保Locale为英文:不同语言环境下月份名称会有差异,显式指定英文Locale可保证格式一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:50:35