web-dev-qa-db-ja.com

HH:mmのようなDateTime形式AM / PMなしで24時間

ここで、「16:20」のような文字列をフォーマットを失うことなくDateTime型に変換することについて検索していました。dbはこのフォーマットを受け入れるだけなので、dd/MM/yyyまたはsecondsまたはAM/PMを追加したくないと言いました。

私はまだCulturesで試しました

前もって感謝します

10

すべての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
13
John Sheehan

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
19
Arno

DateTime.Now.ToString( "hh:mm")-C#の場合。

ああ。ヘッダーのみを読み取ります。

DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0);
3
MartinHN

「フォーマットを失う」とはどういう意味ですか。

これをDateTime型に変換すると、DateTimeオブジェクトにはdd/mm/yyおよびその他のプロパティが含まれます。オブジェクトの使用方法に応じて、次のように文字列出力をフォーマットすることにより、元の設定を「復元」できます。DT.ToString( "HH:mm");

1
Victor

使用しているDBMSを指定していないため、どの回答が役立つかを判断するのは困難です。 IBM Informix Dynamic Serverを使用する場合は、データ型「DATETIME HOUR TO MINUTE」を使用するだけで、24時間制で値が記録されます。

1
DateTime.Parse("16:20")
1
Jimmy

私はあなたの質問のこの部分に対処したいと思います:

フォーマットを失うことなく

データベースは通常、すべての日時値を、人間が読めない標準の一般的な形式で保存します。日時列を使用すると、元の形式が破棄されます。

ただし、値を取得するときは、必要な形式にキャストして戻します。お望みならば HH:mm がんばって。

0
Joel Coehoorn