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

如何将DateTime值格式化为其他区域性的FullDateTimeFormat?

解决DateTime按指定区域性FullDateTime格式输出的问题

你的核心问题是用错了方法:[datetime]::ParseExact的作用是将字符串解析为DateTime对象,而你需要的是把DateTime对象格式化为指定区域性的字符串,正确的做法是使用DateTime.ToString()的重载方法。

正确实现代码

方法1:使用格式符'F'并指定区域性

这种方式直接调用ToString,传入格式符'F'(对应FullDateTime格式)和目标区域性对象,会自动适配该区域性的格式配置(包括手动修改后的设置):

$date = [datetime]::new(2022,2,28,10,33,0)
$de = [cultureInfo]::new('de-DE')
$date.ToString('F', $de)
# 输出结果:Montag, 28. Februar 2022 10:33:00

方法2:直接使用区域性的FullDateTimePattern

如果想显式使用该区域性的FullDateTimePattern作为格式字符串,效果和方法1完全一致:

$date.ToString($de.DateTimeFormat.FullDateTimePattern, $de)

原代码报错原因

你传入ParseExact的第一个参数是$date(DateTime对象),但该方法要求第一个参数必须是待解析的字符串,类型不匹配导致报错。这个方法是格式化操作的反向流程,不适合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:42:06