VB.Net自定义时间格式

时间:2017-04-13 10:09:25

标签: vb.net datetime string-formatting

我在Studio 2017中构建了一个VB程序。我需要以一种格式生成时间,这种格式可以继续用在文件名中。

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 
例如,

吐出12:00:00,并且:文件名中不可用。

我可以删除:所以它将是1200000(不是特别可读,但适合我的目的)或12-00-00。

我已经检查了here并且无法看到任何可以解决问题的ToString格式。

我的代码会在当前日期和时间放置一个标签(比如label1)。另一部分将使用Label1.Text来获取字符串。因此,Label1可以进行任何格式化。

例如,它将按如下方式使用;

oDoc = oWord.ActiveDocument
oDoc.saveas2("C:\Test\" & "DocumentTitle" & "-" & label1.text & ".docx"

有没有办法将Date字符串格式化为我想要的?

2 个答案:

答案 0 :(得分:4)

为什么要首先添加冒号?

DateTime.Now.ToString("yyyy-MM-dd HHmmss")

答案 1 :(得分:2)

只需使用 String.Replace

即可
Dim ActualTime as String = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")
ActualTime = ActualTime.Replace("/","-").Replace(":","-")
oDoc = oWord.ActiveDocument oDoc.saveas2("C:\Test\" & "DocumentTitle" & "-" & ActualTime & ".docx"

不是最优化但要明白的。根据Visual Vincent的建议添加了一行替换。

请务必检查他的解决方案。