是否有一种简单的方法来转换包含以下内容的字符串:
Date: Wed, 5 Nov 2008 13:12:12 -0500 (EST)转换为包含以下内容的字符串:
20081105_131212更新:
最后我使用了date.tryparse,它类似于tryParseExact,只是您不必指定格式字符串。我确实必须消除()和EST,这样才能起作用。日期字符串将始终是EST,因为日期字符串来自一个web服务器。
原始字符串:
Date: Wed, 5 Nov 2008 13:12:12 -0500 (EST)使用此代码:
buff1.Remove(0, 6).Replace("(", "").Replace(")", "").Replace("EST", "").Trim()变成这串:
Wed, 5 Nov 2008 13:12:12 -0500然后,我可以适当地格式化,以生成我的文件名日期,使用如下:
If Date.TryParse(buff1, dateValue) Then
MsgBox(Format(dateValue, "yyyyMMdd_HHmmss"))
Else
MsgBox("nope")
End If发布于 2008-11-06 19:14:40
在这种情况下,比Date.Parse更好的是Date.TryParseExact()。这将使您能够告诉框架所期望的格式,并返回布尔值,而不是在解析失败时抛出异常。
然后使用.ToString("yyyyMMdd_HHmmss")获得所需的新字符串格式。
以下是格式字符串引用,以防您需要它:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
最后,我注意到您忽略了-500时区偏移量。你确定你所有的字符串都来自同一个时区吗?
发布于 2008-11-06 19:04:47
如果VB的意思是VB.NET,您可以使用Date.Parse,然后使用格式字符串的ToString():
Date.Parse(YourDateString).ToString("yyyyMMdd_HHmmss")注意:在解析字符串之前,删除初始的“日期:”。
发布于 2008-11-06 19:28:46
为了一个纯的VB解决方案,我会去
Function ConvertDateString(ByVal Original As String) As String
Dim Elements As String() = Split(Original, " ")
Dim DateString As String = Elements(3) & " " & Elements(2) & " " & Elements(4) & " " & Elements(5)
Return Date.Parse(DateString).ToString("yyyyMMdd_HHmmsss")
End Function您可以通过使用Parase中的级联字符串来消除DateString。如果你的分辨率是1024乘768或更高的话,它可以放在一条线上。
https://stackoverflow.com/questions/269781
复制相似问题