20

この質問の延長として、データベースから日付を取得してグリッドに表示しています。

次のコードがあります。

string date = "";
DateTime? dateSent;    

if (row["DateSent"] != DBNull.Value)
                    dateSent = (DateTime)row["DateSent"];
                else dateSent = null;

date = (dateSent.HasValue ? dateSent.Value.ToString("dd/MM/yyyy hh:mm:ss") : null);

このコード ブロックの最後にブレークポイントを追加すると、DateTime?変数「dateSent」のタイムスタンプが 24 時間制であることがわかります (例: 14:50:34)。ただし、string変数「日付」の値を確認すると、02:50:34 などの 12 時間形式になっています。

12 時間形式に変換するつもりはありません。2 つの質問があります。

  1. dateSent.Value.ToString("dd/MM/yyyy hh:mm:ss") が 12 時間制のタイムスタンプを返すのはなぜですか?
  2. これを回避して 24 時間制バージョンを使用するにはどうすればよいですか?
4

4 に答える 4

5

24 時間の文字列を表示する場合は、次の書式文字列を使用します。

HH:mm:ss

それが役に立てば幸い

于 2013-04-05T15:23:13.130 に答える