2013-12-19 244 views
2

我試圖將12/20/2013 17:40格式的日期時間轉換爲以下格式轉換日期時間格式?

20 Dec 2013 05:40 pm。怎麼可能?

+6

DateTime.ParseExact:http://msdn.microsoft.com/en-us/library/System.DateTime.ParseExact(v=vs.110).aspx – germi

+0

你想將其保留爲日期時間或字符串? – SOfanatic

+1

你不轉換它,你只是格式化爲不同的字符串。 –

回答

4

您需要使用DateTime.TryParseExact。這應該這樣做

string originalDate = "2/20/2013 17:40"; 
DateTime parsedDate; 
if (DateTime.TryParseExact(originalDate, "M/dd/yyyy HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate)) 
{ 
    string requiredFormat = parsedDate.ToString("dd MMM yyyy hh:mm ttt"); 
} 

輸出:

20 Feb 2013 05:40 PM 
3
mydatetime.ToString("dd MMM yyyy hh:mm tt"); 
2
dt.ToString("dd MMM yyyy hh:mm tt"); 
2
dateTime.ToString("dd MMM yyyy hh:mm tt"); 
1

方法1:,如果您有日期時間在String格式

String str = "12/20/2013 17:40";//20 Dec 2013 05:40 pm 
DateTime result; 
string date=""; 
if (DateTime.TryParseExact(str, "MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) 
date=result.ToString("dd MMM yyyy hh:mm tt"); 

方法2:,如果您有日期時間在DateTime變量。

String strdatetime=datetime.ToString("dd MMM yyyy hh:mm tt"); 
0
DateTime time = DateTime.Now; 
Console.WriteLine(time.ToString("dd MMM yyyy hh:mm tt")); 
0

首先,DateTime沒有格式,琴絃有..

如果您的12/20/2013 17:40DateTime,您可以使用DateTime.ToString(String, IFormatProvider)方法來格式化它;

date.ToString("dd MMM yyyy hh:mm tt", CultureInfo.InvariantCulture); 

如果您12/20/2013 17:40string,那麼你可以使用DateTime.ParseExact(String, String, IFormatProvider)方法等;

string s = "12/20/2013 17:40"; 
var date = DateTime.ParseExact(s, "MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture); 
Console.WriteLine(date.ToString("dd MMM yyyy hh:mm tt", CultureInfo.InvariantCulture)); 

輸出將;

20 Dec 2013 05:40 PM 

這裏一個demonstration

欲瞭解更多信息,請看看;