6

ミリ秒を表示したいのですが、ToStringはミリ秒を00000と表示します。

以下のコードと、各ステップでの出力を提供します。

  1. String currentDateTime = DateTime.Now.ToString("G");

    出力-2011年7月27日15:05:31

  2. System.DateTime dateTime = System.DateTime.Parse(currentDateTime);

    出力-2011年7月27日15:05:31

  3. String dateTimeStr = dateTime.ToString("hh.mm.ss.ffffff", "en-US");

出力-03.05.32.000000

出力をミリ秒単位で表示したい(例:03.05.32.33456)

Parseの代わりにParseExactを使用した場合、例外が発生します。TryParseExactを使用できることは知っていますが、この問題の一般的な解決策が必要なため、その解決策は適切でない可能性があります。

誰かがこれで私を助けることができますか?

前もって感謝します。スジェイ

4

3 に答える 3

8

DateTime -> string -> DateTime から移動している理由がわからないこれはミリ秒を表示する必要があります

DateTime dt = DateTime.Now;
dt.ToString("hh:mm:ss.fff") 

追加情報についてこれらの行を見ていない場合は、投稿を編集してください

于 2011-07-27T09:51:40.843 に答える
6

以前に文字列から作成したものと同じdateTimeオブジェクト(ミリ秒なしの「2011年7月27日15:05:31」)を使用すると、ミリ秒が失われます。

Nowを直接文字列に変換する場合、ミリ秒が失われることはありません。

String dateTimeStr = DateTime.Now.ToString("hh.mm.ss.ffffff", "en-US");
于 2011-07-27T09:57:39.197 に答える
3

コードでは、最初に、ミリ秒を持たない標準の "G" 形式を使用して、DateTime を文字列にシリアル化します。確かに、後でこの文字列を解析すると 000000 が得られます。

        String currentDateTime = DateTime.Now.ToString("G");
        Console.WriteLine(currentDateTime);

        System.DateTime dateTime = System.DateTime.Parse(currentDateTime);

        Console.WriteLine(dateTime.ToString("hh.mm.ss.ffffff"));
于 2011-07-27T09:53:31.070 に答える