ここで、「16:20」のような文字列をフォーマットを失うことなくDateTime型に変換することについて検索していました。dbはこのフォーマットを受け入れるだけなので、dd/MM/yyyまたはsecondsまたはAM/PMを追加したくないと言いました。
私はまだCulturesで試しました
前もって感謝します
すべてのDateTimeオブジェクトには、日付と時刻が必要です。
時間だけが必要な場合は、TimeSpanを使用してください。
TimeSpan span = TimeSpan.Parse("16:20");
DateTimeが必要な場合は、その時間を最小値に追加します。
TimeSpan span = TimeSpan.Parse("16.20");
DateTime dt = DateTime.MinValue.Add(span);
// will get you 1/1/1900 4:20 PM which can be formatted with .ToString("HH:mm") for 24 hour formatting
DateTimeに日付形式を指定するだけです。
string DateFormat = "yyyy MM d "
このwilllはあなたに年月と日を与えます。続行した後;ここのstring DateFormat = "yyyy MM d HH:mm:ss "
大文字Hは、24 hours time format
および小文字の"h" will give you the 12 hours time
形式を提供します。
dateformatを文字列として指定すると、日付と時刻を使用して好きなことを行うことができます。
string DateFormat = "yyyyMMdHHmmss";
string date = DateTime.Now.ToStrign(DateFormat);
OR
Console.writeline(DateTime.Now.ToStrign(DateFormat));
出力:
20120823132544
DateTime.Now.ToString( "hh:mm")-C#の場合。
ああ。ヘッダーのみを読み取ります。
DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0);
「フォーマットを失う」とはどういう意味ですか。
これをDateTime型に変換すると、DateTimeオブジェクトにはdd/mm/yyおよびその他のプロパティが含まれます。オブジェクトの使用方法に応じて、次のように文字列出力をフォーマットすることにより、元の設定を「復元」できます。DT.ToString( "HH:mm");
使用しているDBMSを指定していないため、どの回答が役立つかを判断するのは困難です。 IBM Informix Dynamic Serverを使用する場合は、データ型「DATETIME HOUR TO MINUTE」を使用するだけで、24時間制で値が記録されます。
DateTime.Parse("16:20")
私はあなたの質問のこの部分に対処したいと思います:
フォーマットを失うことなく
データベースは通常、すべての日時値を、人間が読めない標準の一般的な形式で保存します。日時列を使用すると、元の形式が破棄されます。
ただし、値を取得するときは、必要な形式にキャストして戻します。お望みならば HH:mm
がんばって。