c# - 将 DateTime 转换为 UK 格式

标签 c# datetime

<分区>

我想将日期“01/22/2013 10:00:00”转换为“22/01/2013 10:00:00”,但我的方法无法识别我的日期字符串。

 DateTime dt = DateTime.ParseExact(StartDate, "MM dd yyyy h:mm", CultureInfo.InvariantCulture);
            StartDate = dt.ToString("dd/M/yyyy");
 dt = DateTime.ParseExact(EndDate, "MMM dd yyyy h:mm", CultureInfo.InvariantCulture);
            EndDate = dt.ToString("dd/M/yyyy");

我收到这个错误:

System.FormatException - String was not recognized as a valid DateTime.

ParseExact 的正确字符串格式是什么?

最佳答案

您的日期格式有误,对于美国来说应该是 01/22/2013 10:00:00 也就是 MM/dd/yyyy HH:mm:ss。对于英国,它将是 dd/MM/yyyy 等。

DateTime dt = DateTime.ParseExact(StartDate, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

dt.ToString("dd/MM/yyyy");

请注意,我假设这里采用 24 小时制,这就是我使用 HH 的原因。如果你想要一个十二小时的时钟,你需要 hh 但你还应该输入 AM/PM 等。

关于c# - 将 DateTime 转换为 UK 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14704289/

相关文章:

c# - IHostAssemblyStore::ProvideAssembly 导致异常 "The located assembly' 的 list 定义与程序集引用不匹配”

java - 在 Java 中获取 BIOS 时间

datetime - 在elasticsearch中存储日期格式

java - 数据库 | MySQL 和 Java 中的日期时间

c# - XMLDocument.Load(),十六进制值0x17,为无效字符

c# - 如何在代码后面设置Storyboard.SetTargetProperty?

c# - dotnetrdf 中的 SPARQL 查询不查询导入的本体

c# - 在 .NET 中找到进程树

mysql - Symfony 在 MySQL 数据库中设置日期时间

SQL:当有些月份没有记录时,如何查询每月总和的平均值?