如何使用VB.NET添加前置零到时间?

use*_*292 3 vb.net

在下面的代码中,我正在使用当前日期和时间,并在此日期和时间的帮助下生成文件名。我的问题是,它给我的输出没有前导零:

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()
Run Code Online (Sandbox Code Playgroud)

例如,我的查询当前给出如下输出:

假设时间是 1:5:30 :: hh:mm:ss

所需的输出是: 01:05:30

我该如何实现?

Nal*_*526 6

尝试这个,

DateTime.Now.Hour.ToString("00") & ":" & DateTime.Now.Minute.ToString("00") & ":" & DateTime.Now.Second.ToString("00")
Run Code Online (Sandbox Code Playgroud)

编辑:

正如答案中“ 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
Run Code Online (Sandbox Code Playgroud)