「08-06-2008」という値を持つ文字列があります。結果を「08-06-08」のようにしたい。これを行う方法はありますか?CDate を試しましたが、2008 年 8 月 6 日しか表示されず、問題は解決しません。
質問する
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 に答える