簡體   English   中英

DateTime.ParseExact 在 C# 中不起作用,日期格式轉換不起作用

[英]DateTime.ParseExact not working in C#, Date format Conversion not working

解析時間不起作用,因為我想將 "13-06-2019 00:00:00"(dd-MM-yyyy HH:mm:ss) 轉換為 "06-13-2019 00:00:00"(MM-dd -yyyy HH:mm:ss)

嘗試使用Convert.toDateTime()DateTime.ParseExact()

IFormatProvider culture = new CultureInfo("en-US");
var a = DateTime.ParseExact(a, "MM-dd-yyyy hh:mm:ss", CultureInfo.InvariantCulture);
var b = DateTime.ParseExact(a, "yyyy-MM-dd HH:mm:ss", null);
var c = DateTime.ParseExact(a, "yyyy-MM-dd HH:mm:ss", culture);

沒有任何作用

DateTime結構在DateTime使用公歷,並且該日歷中沒有第 13 個月。

所以,用MM說明符解析13是錯誤的。 我強烈懷疑您嘗試使用dd-MM-yyyy HH:mm:ss格式。

string a = "13-06-2019 00:00:00";
DateTime  b = DateTime.ParseExact(a, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture);

這里有演示

您的第二個和第三個示例也不起作用,因為它們的格式與您的字符串完全不同。 當您使用ParseExact方法解析您的字符串時,您的字符串和您的格式應該完全匹配

另外我想提一下, hhHH說明符都可以在我的代碼示例中使用。 但作為一般格式考慮,使用dd-MM-yyyy HH:mm:ss格式比其他選項更常見和可靠。

DateTime.ParseExact(date,format,culture) 的格式參數是要轉換的日期字符串的源格式,返回值是日期類型,您可以根據所需格式將其轉換回字符串。

var a = "13-06-2019 00:00:00";

IFormatProvider culture = new CultureInfo("en-US");
DateTime b = DateTime.ParseExact(a, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture);

Console.WriteLine($"{b:MM-dd-yyyy HH:mm:ss}");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM