2011-05-05 52 views
5

我在格式recieving日期:C#:時間值轉換

18/04/2011 4:57:20 PM 

DateTime.Parse()方法不能訪問它。

有沒有辦法讓它轉換18/04/2011 4:57:20 PM返回Date對象April 18, 2011

回答

9

這看起來不像標準格式。日期是en-GB,時間是en-US。正因爲如此,我會建議你使用DateTime.ParseExact並通過格式:

DateTime parsed = DateTime.ParseExact("18/04/2011 4:57:20 PM", 
             "dd/MM/yyyy h:mm:ss tt", 
             CultureInfo.InvariantCulture); 
3

試試這個:

DateTime dt = DateTime.ParseExact(dateString, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); 
3

您可以使用ParseExact或更好TryParseExact(失敗時不會產生異常)與這兩方法,你可以通過格式提供描述爲參數:

DateTime.ParseExact(strDate, "dd/MM/yyyy HH:mm:ss", null); 
0

你有沒有試過這種

DateTime.Now.ToString("MMM dd, yyyy") 
0

您的日期格式爲MM/DD/YYYY無月的18

有嘗試這個

DateTime.Parse("04/18/2011 4:57:20PM").ToShortDateString(); 
7

首先,更改日期的格式,你需要一個DateTime值。您無法格式化字符串日期。使用DateTime.ParseExact從格式化日期字符串的提取日期值:

DateTime dateValue = 
    DateTime.ParseExact(stringDateValue, "dd/MM/yyyy h:mm:ss tt", 
     CultureInfo.InvariantCulture); 

然後你可以使用DateTime.ToString(format)提取格式化字符串值:

resultStringDateValue = dateValue.ToString("MMM dd, yyyy");