Date.Now.ToFileTime.ToString命令(VB.NET)出现问题

时间:2016-03-23 15:23:37

标签: vb.net date datetime automation file-writing

我正在尝试使用Visual Studio中的Date.Now.ToFileTime.ToString命令将日期和时间分配给文本文件名以及后缀,但是我得到的结果如下:

  

131032106994631586log_detailed

理想情况下,我希望看到的是此类型的文件名:

  

20160323_112154_log_detailed.txt

到目前为止,这是我的代码:

Private Sub writeLog()

    Using outfile As StreamWriter = New StreamWriter(Date.Now.ToFileTime.ToString + "log_detailled.txt", True)
        outfile.Write(sb_detailled.ToString())
    End Using

    Using outfile As StreamWriter = New StreamWriter(Date.Now.ToFileTime.ToString + "log_Ends.txt", True)
        outfile.Write(sb_ends.ToString())
    End Using
End Sub

2 个答案:

答案 0 :(得分:0)

如果您只想使用您提交的代码,它将是:

Private Sub writeLog()

    Using outfile As StreamWriter = New StreamWriter(String.Format("{0:yyyyMMdd_HHmmss}_log_detailed.txt", Now), True)
        outfile.Write(sb_detailled.ToString())
    End Using

    Using outfile As StreamWriter = New StreamWriter(String.Format("{0:yyyyMMdd_HHmmss}_log_Ends.txt", Now), True)
        outfile.Write(sb_ends.ToString())
    End Using

End Sub

...虽然您可能想看看图书馆 log4net https://www.nuget.org/packages/log4net/。我认为这个库很可能已经完成了你想要做的事情(记录事物)。

它在很大程度上被使用,虽然它并不容易让它运行起来。这是一个很好的和详细的"如何":http://www.codeproject.com/Articles/899992/Logging-with-Microsoft-NET

答案 1 :(得分:0)

请注意我们不要提交文件时间!

在toString()函数中使用Dateformating

Now.ToString("yyyyMMdd_hhmmss") + "log_detailled.txt"
一年中的yyyy,例如2016
这个月的MM,例如03(大写字母M是月,小写字母是分钟!!)
dd为当天
......这个时辰 mm为分钟
ss为秒

元素之间可以使用“_”,“ - ”或其他字符作为分隔符!