私は、vb
framework 3.5 を使ってasp.net
サイトを開発しています。
文字列データを日付に変換するのに苦労しています。 cdate関数を使ってみました。
文字列変数であるsdateがあり、その中にテキストボックスからdd/mm/yyyyという形式で日付が格納されています。
3行目に「String was not recognized as a valid DateTime」というエラーが出ます。次のように実行しようとしましたが、エラーが発生しました。
Dim sdate As String
Dim expenddt As Date
expenddt = Date.Parse(edate)
expenddt = expenddt.AddDays(-1)
しかし、次のようなエラーが出ます。
文字列から日付型への変換ができません。
どうすれば文字列から「日付」を取得できますか?
Date.ParseExactまたは
Date.TryParseExact`を正しいフォーマット文字列で使用する必要があります。
Dim edate = "10/12/2009"
Dim expenddt As Date = Date.ParseExact(edate, "dd/MM/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo)
または
Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
Dim expenddt As Date = Date.ParseExact(edate, format,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
Globalization.DateTimeStyles.None)
または
Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
Dim expenddt As Date
Date.TryParseExact(edate, format,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
Globalization.DateTimeStyles.None, expenddt)
DateTime.ParseExactメソッドを使ってみてください。このメソッドでは、datetimeマスクと元の解析済み文字列の両方を指定できます。 これについては,こちらを参照してください。MSDN: DateTime.ParseExactを参照してください。