我目前运行的数组从文本文件中读取大约6行。下面是我如何从文本文件中的行中提取所需信息的示例
line = allLines.Where(Function(x) (x.StartsWith("plandate="))).SingleOrDefault()
If line IsNot Nothing Then
AllDetails(numfiles).pDate = line.Split("="c)(1)
End If
在这种情况下,我将以dd/MM/yy
对于sub的一部分,我需要将格式的引用从dd/MM/yy
更改为dd MMMM yy
。
我尝试了以下
Dim uPland As String = AllDetails(n).pDate.ToString("dd MMMM yy")
但是我收到以下错误消息
Unable to cast object of type 'System.String' to type 'System.IFormatProvider'.
格式需要更改为我使用dd MMMM yy
格式将日期作为标题创建的文件夹。
如果需要发布更多代码,请告诉我
请指导
答案 0 :(得分:2)
目前,您永远不会将值解析为DateTime
值 - 这意味着您无法格式化它们为DateTime
。 ToString
上唯一的单参数String
方法是IFormatProvider
作为参数类型的方法,这就是您收到错误的原因。
我建议您将pDate
的类型从String
更改为DateTime
,在阅读文件时解析(例如使用DateTime.ParseExact
),然后转换回文本在你真正需要的时候,你只对感兴趣的格式
答案 1 :(得分:0)
仅供参考我已设法使用以下
对问题进行排序Dim uPland As String = Date.Parse(AllDetails(n).pDate).ToString("dd MMMM yy")