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

PowerShell流水线中日期转换异常问题求助

日期转换本地与流水线结果不一致的原因及解决方法

问题根源

Get-Date解析日期字符串时,会默认采用运行环境的区域文化设置。你的本地环境使用日-月-年格式(比如英式英语区域),所以11-02-2024被解析为2月11日;而流水线运行环境采用月-日-年格式(比如美式英语区域),同样的字符串被解析为11月2日,这就是结果差异的核心原因。

解决方法

不要依赖默认区域解析,明确指定日期格式消除歧义,修改你的日期转换代码即可:

方法1:用ParseExact直接解析并格式化

# 明确按dd-MM-yyyy(日-月-年)格式解析提取到的日期
$newDate = [datetime]::ParseExact($date, 'dd-MM-yyyy', $null).ToString("MMMM dd, yyyy")

方法2:结合Get-Date指定区域解析

# 创建指定文化(英式英语)用于解析
$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture('en-GB')
# 按指定格式和文化解析后,用UFormat输出目标格式
$newDate = Get-Date -Date ([datetime]::ParseExact($date, 'dd-MM-yyyy', $culture)) -UFormat "%B %d, %Y"

修改后,无论运行环境的区域设置如何,都会按照你预期的日-月-年规则解析日期,得到正确的February 11, 2024结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:56:06