gpt4 book ai didi

c# - 使用 TryParseExact 将 "August 2012"转换为 DateTime 对象

转载 作者:行者123 更新时间:2023-11-30 15:56:28 25 4
gpt4 key购买 nike

我正在尝试将格式为“2012 年 8 月”的字符串解析为 DateTime 对象。该字符串来自 DataTable 中的列名。

string columnName= row[col].ToString(); // "August 2012"

最初我尝试使用 DateTime.TryParse() ...

bool result = DateTime.TryParse(row[col].ToString, out convertedDateTime);

但它一直返回 false。所以接下来我尝试使用 DateTime.TryParseExact 使用适当的 cultureformat 描述 here ...

CultureInfo enUS = new CultureInfo("af-ZA");
DateTime.TryParseExact(row[col].ToString(), "y", enUS, DateTimeStyles.None, out columnNameAsDate)

但是,这也一直返回 false。我究竟做错了什么?难道我不能将格式为 August 2012 的字符串解析为 DateTime 对象吗?

最佳答案

这应该会为您提供预期的日期。

string columnName= row[col].ToString();  // ==> August 2012
CultureInfo enUS = new CultureInfo("en-US");
DateTime.TryParseExact(columnName, "MMMM yyyy", enUS, DateTimeStyles.None, out columnNameAsDate);

首先:您应该指定确切的文化。在 af-ZA 文化中,一年中的第八个月被命名为“Augustus”而不是“August”,这当然会失败。

其次:您应该传递正确的格式规范以获得完整的月份名称 (MMMM) 和年份 (yyyy)。

关于c# - 使用 TryParseExact 将 "August 2012"转换为 DateTime 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46735180/

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