2016-08-23 28 views
1

我將字符串轉換爲日期時間,並有串來在這樣的時候:製作日期時間的日子前導零的可選解析

string dateTimeBeforeDayTen = '2/05/2016'; 
string dateTimeBeforeAfterTen = '12/05/2016'; 

現在,如果我解析dateTimeBeforeAfterTen,我知道我可以使用:

DateTime myDateTime; 
DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime); 

但是我該怎麼做,如果我想解析他們中的任何一個。我知道我可以這樣做:

DateTime myDateTime; 
if(!DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime)); 
    DateTime.TryParseExact(dateTimeBeforeAfterTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime); 

但是有沒有更好的方法來做到這一點?我將日期時間格式存儲在數據庫中,並希望將其保存爲單個字符串。

+0

強制性鏈接 - https://xkcd.com/1179/使用自定義日期時間格式序列化值... –

+0

操縱日期時間不串 – cutzero

+0

'我存儲DateTime格式...'保存日期時間 - 沒有字符串 - 對DB – Plutonix

回答

1

一個單一的「d」將在一個和兩個數字天都有效。所以只需使用「d/MM/yyyy」。

Format string

「d」

在當月通過31.

2009-06-01T13一天,從1:45:30 - > 1

2009 -06-15T13:45:30 - > 15

此作品:

string dateTimeBeforeDayTen = "2/05/2016"; 
string dateTimeBeforeAfterTen = "12/05/2016"; 

DateTime myDateTime, myDateTime2; 

DateTime.TryParseExact(dateTimeBeforeDayTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime); 
DateTime.TryParseExact(dateTimeBeforeAfterTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime2); 
+0

謝謝你。只需添加,幾小時的相同作品,以及我剛纔使用的! –