gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:13 26 4
gpt4 key购买 nike

我创建了一个以下列方式使用 DateTime.ParseExact 的应用程序:

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

extractedFileDate 正在存储一个带有日期的字符串,例如:“2013 年 10 月 8 日星期二 12:07:13”

当我在 Windows 10 上从我的计算机运行我的应用程序时,一切运行顺利,但当我尝试在 Windows Server 2016 上运行相同的应用程序时,我收到“字符串未被识别为有效的日期时间”错误信息。

日期字符串的内容显示相同的值。

它会是什么?

大卫。

最佳答案

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

您的格式字符串包含 ddd MMM 和您要解析的字符串 Tue Oct,因此当服务器配置了另一种文化时,这可能是问题所在。

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

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

关于c# - 字符串未被识别为 Windows Server 2016 上的有效日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57673390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com