簡體   English   中英

C#DateTime從yyyy-MM-ddTHH轉換:mm:ss到dd MMM yyyy

[英]C# DateTime Conversion from yyyy-MM-ddTHH:mm:ss to dd MMM yyyy

如何將“yyyy-MM-ddTHH:mm:ss”轉換為“dd MMM yyyy”格式? 對於Instance,我想將2013-04-16 05:30:05轉換為2013年4月16日。實現此目的的正確方法是什么?

然后第一個ParseExactToString (我假設你有字符串對象,如果你有DateTime對象,跳過第一行)

var dateTime = DateTime.ParseExact(yourDateString, "yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture);

var yourNewString = dateTime.ToString("dd MMM yyyy");

請注意,您在調試器中看到的DateTime表示取決於您當前的文化。

首先, DateTime沒有格式。 但是如果你已經有一個表示DateTime的字符串,其格式為yyyy-MM-ddTHH:mm:ss並且你想將它轉換為格式為dd MMM yyyy的字符串日期,則需要先將其解析為DateTime

因此使用DateTime.ParseExact

DateTime dt = DateTime.ParseExact("2013-04-16 05:30:05", "yyyy-MM-dd HH:mm:ss", null); 

現在您可以使用DateTime.ToString

string result = dt.ToString("dd MMM yyyy");

請注意,如果要使用另一個DateTimeFormat進行解析而不是當前(fe force english month names而不是german: dt.ToString("dd MMM yyyy", CultureInfo.InvariantCulture) ),則需要將另一個CultureInfo對象傳遞給ParseExact / ToString

正如其他人提到的,DateTime沒有格式。 要將字符串文字解析為Date,您需要調用DateTime.Parse(如果字符串是特定於區域性的格式)或DateTime.ParseExact,如果您需要傳遞格式字符串。

格式可以是自定義格式,如yyyy-MM-dd HH:mm:ss標准格式字符串之一 ,例如。 s代表yyyy-MM-ddTHH:mm:ss

2013-04-16 05:30:05不是標准格式之一,所以你必須通過傳遞自定義格式字符串來解析:

    var dt = DateTime.ParseExact("2013-04-16 05:30:05", "yyyy-MM-dd HH:mm:ss", null);

在另一方面, yyyy-MM-ddTHH:mm:sss的標准格式,所以你可以這樣寫:

    var dt = DateTime.ParseExact("2013-04-16T05:30:05", "s", null);

暫無
暫無

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

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