3

以下のコードでは、現在の日付と時刻を使用しており、ファイル名を生成しています。私の問題は、先行ゼロなしの出力が得られることです。

Dim strDateTime As String = DateTime.Now.Day.ToString() & "" & _ 
DateTime.Now.Month.ToString() & "" & DateTime.Now.Year.ToString() & "" & _ 
DateTime.Now.Hour.ToString() & "" & DateTime.Now.Minute.ToString() & "" & _
DateTime.Now.Second.ToString() & DateTime.Now.Millisecond.ToString()

たとえば、私のクエリは現在、次のような出力を提供しています。

時間は1:5:30 :: hh:mm:ss

必要な出力は次のとおりです。01:05:30

どうすればこれを達成できますか?

4

2 に答える 2

8

これを試して、

DateTime.Now.Hour.ToString("00") & ":" & DateTime.Now.Minute.ToString("00") & ":" & DateTime.Now.Second.ToString("00")

編集 :

回答の「mdb」で示唆されているように、カスタムの日付と時刻の書式文字列を使用すると、より効率的でクリーンになります

DateTime.Now.ToString("hh:mm:ss tt") '12 Hour format with AM/PM designator, Eg :- 09:01:01 PM
DateTime.Now.ToString("HH:mm:ss") '24 Hour format  Eg :- 21:01:01
于 2012-07-22T11:37:28.190 に答える
4

非常に非効率な文字列を連結する代わりに、String.Formatを使用することをお勧めします。これはCustom Date and Time Format Stringsもサポートしているため、簡単に目的を達成できます。

于 2012-07-22T10:30:41.543 に答える