为了账号安全,请及时绑定邮箱和手机立即绑定

字符串在 Windows Server 2016 上未被识别为有效的日期时间

字符串在 Windows Server 2016 上未被识别为有效的日期时间

C#
慕丝7291255 2023-09-24 11:08:30
我创建了一个按以下方式使用 DateTime.ParseExact 的应用程序:DateTime.ParseExact(extractedFileDate, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None);ExtractedFileDate 存储带有日期的字符串,例如:“Tue Oct 08 12:07:13 2013”当我在 Windows 10 上从计算机运行我的应用程序时,一切都运行顺利,但是当我尝试在 Windows Server 2016 上运行相同的应用程序时,我收到“字符串未被识别为有效的日期时间”错误消息。日期字符串的内容显示相同的值。它会是什么?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

区域性DateTimeInfo包含有关如何解析字符串的特定信息。例如,一年中的星期几、月份的名称。

您的格式字符串包含ddd MMM要解析的字符串Tue Oct,因此当服务器配置了另一种区域性时,这可能会出现问题。

您正在使用CultureInfo.CurrentCulture. 解析字符串时尝试使用您的桌面区域性。

更新:在您的评论中,您询问如何支持多种文化。在数据传输或存储的情况下,最好的方法是CultureInfo.InvariantCulture在(反)序列化时使用DateTime。这种文化独立于当地环境。当向用户(在 GUI 中)呈现时,使用默认(用户配置的)区域性。


查看完整回答
反对 回复 2023-09-24
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

解决方案:

DateTime.ParseExact(extractedFileDate, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);



查看完整回答
反对 回复 2023-09-24
  • 2 回答
  • 0 关注
  • 57 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信