簡體   English   中英

將日期格式dd-MM-yyyy解析為dd MMM yyyy

[英]Parsing date form dd-MM-yyyy to dd MMM yyyy

我想將dd-MM-yyyy日期格式解析為dd MMM yyyy我得到了引用,但是它不能以正確的方式轉換日期,它與日期和月份不匹配。

假設我的約會是

string dat = "11-01-2019"

我正在使用

string date = DateTime.Parse(dat).ToString("dd MMM yyyy");

但它返回2019年11月1日 但是實際上是2019年1月11日,因為date的格式是dd-MM-yyyy我不知道如何更正它使用的任何解析方法都會返回2019年11月1日,這是錯誤的。 請幫助我解決問題

您需要指定日期所格式化的區域性。 我在這里假設英國:

var ukCulture = System.Globalization.CultureInfo.GetCultureInfo("en-gb");
string dat = "11-01-2019";
string date = DateTime.Parse(dat, ukCulture).ToString("dd MMM yyyy");
Console.WriteLine(date);

在線嘗試

請注意,如果您在此處輸入無效的日期,則會得到FormatException ,因此使用TryParse可能更好:

var ukCulture = System.Globalization.CultureInfo.GetCultureInfo("en-gb");
string dat = "11-01-2019";
DateTime parsedDate;
if (DateTime.TryParse(dat, ukCulture, System.Globalization.DateTimeStyles.None, out parsedDate))
{
    string date = parsedDate.ToString("dd MMM yyyy");
    Console.WriteLine(date);
}
else
{
    Console.WriteLine("invalid date");
}

在線嘗試

除John的出色回答外,以下是CultureInfo代碼列表供您參考: http : //www.csharp-examples.net/culture-names/

暫無
暫無

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

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