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

Trouble with Date.Now.ToFileTime.ToString command (VB.NET)

我正在尝试使用 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

如果您只是想让它与您提交的代码一起工作,那就是:

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/ 。我认为这个库很可能已经做了你想做的事情(记录事情)。

它被广泛使用,尽管它并不容易安装 运行。这是一个漂亮而详细的 "how to": http://www.codeproject.com/Articles/899992/Logging-with-Microsoft-NET

不要我们归档时间!

在 toString() 函数中使用日期格式化

Now.ToString("yyyyMMdd_hhmmss") + "log_detailled.txt"

yyyy 表示年份,例如2016
该月的 MM,例如03(大写M是月,小写是分!!)
当天的 dd
hh 一小时
mm代表分钟
ss 秒

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