我有一个值为“08-06-2008”的字符串。我希望结果看起来像“08-06-08”。有没有办法做到这一点?我试过 CDate 但这只给了我 8/06/2008 并不能解决问题。
问问题
3598 次
3 回答
5
将其解析Date
为字符串并返回:
Dim dt As Date = Date.ParseExact("08-06-2008", "MM-dd-yyyy", CultureInfo.InvariantCulture)
Dim result As String = dt.ToString("MM-dd-yy", CultureInfo.InvariantCulture)
由于这是一种普通格式,您也可以省略格式字符串并Date.Parse
直接使用:
Dim dt As Date = Date.Parse("08-06-2008", CultureInfo.InvariantCulture)
我曾经CultureInfo.InvariantCulture
避免本地化问题,通常您当前的文化用于Parse/ParseExact
和ToString
.
请参阅:自定义日期和时间格式字符串
于 2013-09-05T14:55:08.723 回答
4
首先,避免CDate。它是 VB6 的后遗症,几乎可以肯定比使用 .net 等效的效率低。
以下应该给你正确的答案:
string value = DateTime.ParseExact("08-06-2008", "dd-MM-yyyy").ToString("dd-MM-yy")
请注意,您现有的日期格式不明确,因此我无法判断您是指 8 月 6 日还是 6 月 8 日 - 这就是我使用ParseExact
over的原因Parse
。ParseExact
效率也稍微高一些,因为它告诉框架使用哪种格式,而不是猜测。
于 2013-09-05T14:55:28.063 回答
1
试试这个
Dim FormatString As String = ""
Dim SampleDate As DateTime
SampleDate = Now()
FormatString = Format(SampleDate,"dd-MM-yy")
于 2013-09-05T15:02:48.233 回答