この 12:40 PM のような時間形式を受け入れるテキストボックスがありますが、基本的に PM または AM なしで、この 12:40:00 のような時間形式に変換したいと考えています。これが私がこれまでに持っているものです:
string StartTime = ((TextBox)TestDV.FindControl("txtBST")).Text.ToString();
ありがとう
1 つのオプションは、解析してDateTime
から文字列に戻すことです。
string s = "12:40 PM";
DateTime dt = DateTime.Parse(s);
string s2 = dt.ToString("HH:mm:ss"); // 12:40:00
DateTime
ただし、ほとんどの操作は、 の文字列表現よりもうまく機能することに注意してくださいDateTime
。
まず、それを に解析してからDateTime
フォーマットする必要があります。入力形式は次のようhh:mm tt
で、出力形式はHH:mm:ss
. したがって、次のようになります。
string input = "12:40 PM"
DateTime dateTime = DateTime.ParseExact(input, "hh:mm tt",
CultureInfo.InvariantCulture);
string output = dateTime.ToString("HH:mm:ss", CultureInfo.InvariantCulture);
ご了承ください:
DateTime.ParseExact
解析が失敗した場合に例外をスローするものを使用しました。使用したい場合がありDateTime.TryParseExact
ます(状況によって異なります)hh:mm
しますか?h:mm