我需要协助在每个文件的末尾添加时间戳。
基本上这是我需要的格式:
" Number_Doctype_Id_Variable_Name_Currentdatetime"
这是构建名称的函数的一部分:
Dim strFileName As New StringBuilder
strFileName.Append(Lab & "_" & dtRecords.Rows(0)(0).ToString)
Dim strIndex0 As String = dtRecords.Rows(0)(2).ToString.Trim
Dim strIndex1 As String = dtRecords.Rows(0)(3).ToString.Trim
Dim strIndex2 As String = dtRecords.Rows(0)(4).ToString.Trim
strFileName.Append("_" & IIf(strIndex0.Trim.Length > 0, strIndex0, ""))
strFileName.Append("_" & IIf(strIndex1.Trim.Length > 0, strIndex1, ""))
strFileName.Append("_" & IIf(strIndex2.Trim.Length > 0, strIndex2, ""))
strFileName.Append("_" & Format(Now(), "MMddyyyyhhmmss"))
但是,这是结果的一个例子:
" 01_PDF_123456789_987654321_John Doe_05192016"
我不确定为什么它没有拉动确切的时间,这就是我需要使它独特的。
这就是我想要的:
" 01_PDF_123456789_987654321_John Doe_05192016093030"
有任何帮助吗?
谢谢,
答案 0 :(得分:0)
试试这个:
DateTime.Now.ToString("MMddyyyyhhmmss")
我建议:
DateTime.Now.ToString("yyyyMMddHHmmss")
因此您对具有相同休息文件名的文件有某种顺序。
答案 1 :(得分:0)
链接String Format for DateTime很好地列出了DateTime格式,请尝试此功能。该函数接受DataTable并返回所需的文件名。该函数利用String.Format转换为所需的DateTime格式。
Function Foo(dtRecords As DataTable)
Dim Lab As String = "01"
Dim docType As String = dtRecords.Rows(0)(0).ToString
Dim strIndex0 As String = dtRecords.Rows(0)(2).ToString.Trim
Dim strIndex1 As String = dtRecords.Rows(0)(3).ToString.Trim
Dim strIndex2 As String = dtRecords.Rows(0)(4).ToString.Trim
Dim val As String = String.Format("{0}_{1}_{2}_{3}_{4}_{5:MMddyyyyhhmmss}", Lab, docType, strIndex0, strIndex1, strIndex2, Now())
Return val
End Function
驱动程序代码应该如下所示(仅为了更加清晰)。创建的DataTable保留了函数中显示的模式。你会看到第二列(即索引1是标题为-Unused - )
Sub Main()
Dim dt As New DataTable
dt.Columns.Add("DocType", Type.GetType("System.String"))
dt.Columns.Add("-Unused-", Type.GetType("System.String"))
dt.Columns.Add("Id", Type.GetType("System.String"))
dt.Columns.Add("Variable", Type.GetType("System.String"))
dt.Columns.Add("Name", Type.GetType("System.String"))
dt.Rows.Add("PDF", "//", "123456789", "987654321", "Jhon Doe")
Console.WriteLine(Foo(dt))
End Sub
希望这会有所帮助。