PowerShell解析西班牙语格式DateTime失败问题解决咨询
解决PowerShell中解析西班牙语DateTime字符串失败的问题
你尝试解析的西班牙语DateTime字符串为Lun Ene 01 18:01:57 2024,原代码报错的核心原因是**es-ES文化下的星期/月份缩写默认是全小写格式**(如lun、ene),而你的字符串是首字母大写形式,且ParseExact默认区分大小写,导致匹配失败。
修正方案1:指定忽略大小写的解析样式
在ParseExact中添加忽略大小写的解析参数,让匹配过程不区分大小写:
$tempCreatedDate = "Lun Ene 01 18:01:57 2024" $culture = [System.Globalization.CultureInfo]::GetCultureInfo("es-ES") $CreatedDate = [DateTime]::ParseExact( $tempCreatedDate, 'ddd MMM dd HH:mm:ss yyyy', $culture, [System.Globalization.DateTimeStyles]::IgnoreCase )
修正方案2:匹配字符串的大小写格式
如果你不想修改解析样式,也可以调整格式字符串的大小写,和目标字符串的首字母大写格式对应:
$tempCreatedDate = "Lun Ene 01 18:01:57 2024" $culture = [System.Globalization.CultureInfo]::GetCultureInfo("es-ES") # 格式字符串使用首字母大写的Ddd MMM,匹配输入字符串的大小写 $CreatedDate = [DateTime]::ParseExact($tempCreatedDate, 'Ddd MMM dd HH:mm:ss yyyy', $culture)
两种方案都能成功将目标字符串解析为DateTime类型变量。
内容的提问来源于stack exchange,提问作者DevD
相关产品推荐
相关产品推荐

