2016-08-23 9 views
1
私はのDateTimeに文字列を変換しています

を解析し、文字列は次のように入ってくる持っている場合、オプションのゼロをリードする日時の日:私はdateTimeBeforeAfterTenを解析していた場合、私は私が使用することができます知っている今ください

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

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); 

これを行うには良い方法がありますか?私はDBにDateTime形式を保存していて、それを単一の文字列として保持したいと思います。

+0

必須リンク - https://xkcd.com/1179/値をシリアル化するためにカスタム日付時刻形式を使用するための... –

+0

日時を操作していない文字列 – cutzero

+0

'私はDateTime書式を格納しています...' DateTimeの保存 - DBでない - – Plutonix

答えて

1

単一の「d」は、1日と2日の両方で動作します。だから "d/MM/yyyy"を使うだけです。

Format string

1から31

2009-06-01T13から "D"

月の日、: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

ありがとうございます。追加するだけで、今まで使っていた時間も同じように動作します! –

関連する問題