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

jest-playwright调用Chromium返回错误日期格式如何解决

问题原因

这不是Bug,是Playwright默认捆绑的Chromium为了压缩体积,裁剪了非默认语言的国际化本地化包,toLocaleDateString 未匹配到对应德语本地化规则时就会 fallback 到ISO日期格式输出。

解决方案

方案1:配置Playwright的地区语言参数(最推荐)

在playwright.config.js中全局配置locale和启动参数,也可以在单测试用例中单独配置:

// playwright.config.js 全局配置
module.exports = defineConfig({
  use: {
    // 全局设置默认地区为德国
    locale: 'de-DE',
    // 给浏览器启动传语言参数
    launchOptions: {
      args: ['--lang=de-DE']
    }
  }
})

如果是单独启动浏览器实例的场景,直接在launch时传入即可:

const browser = await chromium.launch({
  args: ['--lang=de-DE'],
  locale: 'de-DE'
});

方案2:使用本地完整版本的Chrome/Chromium

如果配置参数后仍不生效,可以指定使用你本地已安装的、带完整语言包的Chrome/Chromium,而不是Playwright自带的精简版本:

const browser = await chromium.launch({
  executablePath: '/path/to/your/local/chrome', // 替换为你本地Chrome的实际路径
  locale: 'de-DE',
  args: ['--lang=de-DE']
});

方案3:使用第三方日期库格式化(兼容性最好)

如果不想依赖浏览器的本地化能力,可以直接用dayjs、date-fns等轻量日期库手动格式化,完全规避浏览器环境差异问题:

// 示例用dayjs,先安装dayjs依赖
import dayjs from 'dayjs'
const currentdate = dayjs().format('DD.MM.YYYY')
console.log(currentdate) // 固定输出 17.09.2021 格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:18:02