在ASP.Net中将字符串转换为日期

Jam*_*lor 1 vb.net asp.net date

我正在尝试将a string转换为日期格式

我的字符串看起来像这样

Dim MyString as String = "June 2011"
Run Code Online (Sandbox Code Playgroud)

而我正试图像这样转换它

Convert.ToDateTime(MyString).ToString("MM yyyy")
Run Code Online (Sandbox Code Playgroud)

但它给了我错误

从字符串转换datetime的语法错误.

期望的输出将是06/201101/06/2011.我的字符串的值只会有月份和年份.

有任何想法吗?

Chr*_*ter 6

.NET中的datetime对象表示一个单一的时间点.要从公历日期创建一个,您需要所有三个部分(日,月,年),否则它不能代表一个单一的时间点.

由于您的业务要求是假设未提供日期编号为1,因此只需在解析之前将该编号插入字符串中.

Dim myDate As Date = Convert.ToDateTime("1 " & MyString)
Run Code Online (Sandbox Code Playgroud)

编辑:

对不起,忘了提这样的字符串操作当然是文化依赖的.你没有提到你所处的文化."June 2011"可以暗示en-GB或者en-US.由于在字符串的开头插入日期编号比尝试在月份和年份之间插入日期编号更容易,我建议你选择这样的东西.

Dim myDate1 As Date = Date.Parse("1 " & myString, CultureInfo.GetCultureInfo("en-GB"), DateTimeStyles.AllowWhiteSpaces)
Run Code Online (Sandbox Code Playgroud)