如何在 C# 中将 dd-mm-yyyy 格式转换为 MM/dd/yyyy?
How to convert dd-mm-yyyy Format to MM/dd/yyyy in C#?
我正在尝试将字符串 dd-mm-yyyy
转换为 MM/dd/yyyy
。我尝试了不同的方法,但没有任何效果。我目前的逻辑是:
string convertDate = DateTime.ParseExact(date, "dd-mm-yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
它没有按预期转换日期。它将月放在日的位置,日放在月的位置,如果日大于 12,则将月设置为 01。
您应该始终使用 MM
在您的解析和格式说明符中表示 "Month"。 (mm
表示 "Minute"!)
string convertDate = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
如果您想格式化 DateTime,我可能会做的只是在 DateTime 对象上使用 .ToString() 方法,然后在新行上更改区域性,如下所示:
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
var date = DateTime.Now.ToString("MM/dd/yyyy");
您应该将 ParseExact 模式从 dd-mm-yyyy
修改为 dd-MM-yyyy
,因为 mm 表示带有 0 填充的分钟。那么您的代码将很好地实现您的目标。您可以试试下面的代码。
string date = "18-05-2017";
string convertDate = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture).ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
Console.WriteLine(convertDate);
我正在尝试将字符串 dd-mm-yyyy
转换为 MM/dd/yyyy
。我尝试了不同的方法,但没有任何效果。我目前的逻辑是:
string convertDate = DateTime.ParseExact(date, "dd-mm-yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
它没有按预期转换日期。它将月放在日的位置,日放在月的位置,如果日大于 12,则将月设置为 01。
您应该始终使用 MM
在您的解析和格式说明符中表示 "Month"。 (mm
表示 "Minute"!)
string convertDate = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
如果您想格式化 DateTime,我可能会做的只是在 DateTime 对象上使用 .ToString() 方法,然后在新行上更改区域性,如下所示:
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
var date = DateTime.Now.ToString("MM/dd/yyyy");
您应该将 ParseExact 模式从 dd-mm-yyyy
修改为 dd-MM-yyyy
,因为 mm 表示带有 0 填充的分钟。那么您的代码将很好地实现您的目标。您可以试试下面的代码。
string date = "18-05-2017";
string convertDate = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture).ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);
Console.WriteLine(convertDate);