更改数组字符串的格式

时间:2014-01-22 19:31:07

标签: arrays vb.net date

我目前运行的数组从文本文件中读取大约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格式将日期作为标题创建的文件夹。

如果需要发布更多代码,请告诉我

请指导

2 个答案:

答案 0 :(得分:2)

目前,您永远不会将值解析为DateTime值 - 这意味着您无法格式化它们为DateTimeToString上唯一的单参数String方法是IFormatProvider作为参数类型的方法,这就是您收到错误的原因。

我建议您将pDate的类型从String更改为DateTime,在阅读文件时解析(例如使用DateTime.ParseExact),然后转换回文本在你真正需要的时候,你只对感兴趣的格式

答案 1 :(得分:0)

仅供参考我已设法使用以下

对问题进行排序
Dim uPland As String = Date.Parse(AllDetails(n).pDate).ToString("dd MMMM yy")