0

以下のコードを使用して、日付文字列を「dd/MM/yyyy」形式に変換しようとしています

m_dEDate = Format(CDate(strExpiry), "dd/MM/yyyy")

しかし、システムは例外エラーを受け取りました - 「パラメータが正しくありません」。地域の短い日付が「dd-MMM-yy」の場合、例外エラーはありません。

地域を手動で設定せずに、どうすればコーディングで変換できるでしょうか?

を使用する必要がありますSystem.Globalizationか? もしそうなら、私にサンプルを共有してください。

4

2 に答える 2

1

使用するDate.ParseExact

  Dim dateString As String = "06/15/2008"
  Dim format As String = "MM/dd/yyyy"
  Dim provider As CultureInfo = CultureInfo.InvariantCulture
  Dim _NewDate As Date = Date.ParseExact(dateString, format, provider)
于 2012-11-15T05:37:09.300 に答える
0

日付表現の形式を変更しようとしているようですが、変換元の形式を教えてくれません。Johnのコードは、値を解析する方法を正しく示していますが、それが目的のターゲット値のようです。入力が「2012-11-15」のようなもの、つまりyyyy-MM-ddであるとします。次に、あなたが望むだろう:

Dim inputText = "2012-11-15"
Dim inputFormat = "yyyy-MM-dd"
Dim outputFormat = "MM/dd/yyyy"
Dim provider = CultureInfo.InvariantCulture
Dim parsedDate = Date.ParseExact(inputText, inputFormat, provider)
Dim outputDate = parsedDate.ToString(outputFormat, provider)

ここで不変のカルチャを使用すると、カルチャの感度から完全に分離されることに注意してください。それは実際にあなたが望むものですか、それともユーザーの文化に従って入力を扱いたいのですか、それとも出力ではありませんか?

于 2012-11-15T07:09:37.910 に答える