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。这也支持自定义日期和时间格式字符串,这使得实现你想要的变得微不足道。

于 2012-07-22T10:30:41.543 回答