c# - 将字符串解析为 DateTime,格式化,然后返回字符串 - C#

标签 c# .net datetime

我正在从 MS SQL Server 2008 数据库中提取日期/时间并尝试格式化日期以仅以“dd/MM/yyyy”格式显示日期。

数据库中的数据如下所示:

2011-05-04 15:50:00.000

未格式化的字符串显示如下:

5/25/2011 8:47:00 AM

然而,当我尝试将其解析为正确的格式时,这段代码失败了:

DateTime dateA = DateTime.ParseExact(curShopDate, "ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture);
curShopDate = dateA.ToString();

我也试过这段代码,试图将日期部分从时间中分离出来:

string[] stringA = curShopDate.Split(' ');
DateTime dateA = DateTime.ParseExact(stringA[0], "ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture);
curShopDate = dateA.ToString();

两个版本都崩溃并显示“字符串未被识别为有效的日期时间。”错误。

最佳答案

问题出在您的格式参数上。您的字符串不是 ddMMyyyy 格式,而是 M/dd/yyyy 格式:

string curShopDate = "5/25/2011 8:47:00 AM";
DateTime dateA = DateTime.ParseExact(curShopDate.Split(' ')[0], "M/dd/yyyy",
                              System.Globalization.CultureInfo.InvariantCulture);

您还可以在不从日期中剥离时间的情况下解析字符串:

string curShopDate = "5/25/2011 8:47:00 AM";
DateTime dateA = DateTime.ParseExact(curShopDate, "M/dd/yyyy h:mm:ss tt", 
                              System.Globalization.CultureInfo.InvariantCulture);

关于c# - 将字符串解析为 DateTime,格式化,然后返回字符串 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468825/

相关文章:

c# - 我在 Visual Studio 中破坏了调试。我想我按错了键

.net - 如何在 dotnet test 中解析 Microsoft.NET.Test.Sdk 引用?

R 中 difftime 的结果与 excel 和 timeanddate.com 不同

python - Pandas:如何将日期格式 %Y-%M-%D 转换为 %Y%M%D?

java - 如何在 Scala 或 Java 中将纪元时间增加 5 分钟

c# - VS 强制更新到 2.1.4 后,.net core-mvc 应用程序将不会以 2.1.3 为目标

c# - 在 Google Visualization API (JavaScript) 中动态添加行

C# DynamoDB 复杂类型 IList<T> 转换器

c# - 如何检测无响应的 UI 更新?

.net - NHaml 可以用作通用模板引擎吗? (MVC 之外)