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

时间:2012-07-22 08:30:52

标签: 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()

例如,我的查询目前正在提供输出:

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

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

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:5)

试试这个,

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

编辑:

正如答案中“mdb”所建议的那样,使用Custom Date and Time Format字符串会更有效,更清晰

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

答案 1 :(得分:4)

您需要使用String.Format,而不是连接非常低效的字符串。这也支持Custom Date and Time Format Strings,这使得实现你想要的东西变得微不足道。