VB.Net自定义时间格式

VB.Net自定义时间格式,vb.net,datetime,string-formatting,Vb.net,Datetime,String Formatting,我有一个VB程序内置于Studio 2017。我需要以一种格式生成时间,这种格式可以在文件名中继续使用 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 例如,吐出12:00:00,并且:在文件名中不可用 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 我可以删除:因此它将是1200000(不是特别可读,但适合我的目的)或12-00-00 我已经检查过了,看不到任何ToString格式可以实现这个功能 我的

我有一个VB程序内置于Studio 2017。我需要以一种格式生成时间,这种格式可以在文件名中继续使用

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 
例如,吐出12:00:00,并且:在文件名中不可用

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 
我可以删除:因此它将是1200000(不是特别可读,但适合我的目的)或12-00-00

我已经检查过了,看不到任何ToString格式可以实现这个功能

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

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

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

是否有方法将日期字符串格式化为我想要的格式?

只需使用字符串。替换

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"
不是最优化的,但很容易理解。根据VisualVincent的建议,添加了一行替换


还要确保检查他的溶液。

为什么要首先添加冒号

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

非常感谢——我也偶然发现了这个解决方案,并在玩这个;Label2.Text=Format(现在是“HH:mm:ss”)作为字符串的尺寸输入=Label2.Text作为字符串的尺寸输入=替换(输入“:”,“-”)Label2.Text=astring为什么要使用标签而不是直接在代码中使用变量?你是对的-我采用了你的代码而不是使用标签。@AdrianBrown没问题,请确保将其标记为答案,这样问题就结束了,并确保检查VisualVincent的解决方案也非常实用。
Replace()
始终返回字符串,因此如果愿意,您可以一直调用它。;)为什么不能使用
DateTime.Now.ToString(“yyy-MM-dd-HH-MM-ss”)
DateTime.Now.ToString(“yyy-MM-dd-hhmms”)
?我有时使用句点分隔小时、分钟和秒:DateTime.Now.ToString(“yyyy-MM-dd-HH.MM.ss”)`