2016-04-18 3 views
0

VBで次の文字列をDateTimeに変換するには?
として以下のコードを実行するとき、私はエラーを得た:VBで文字列をDateTimeに変換する

Dim date As String = "Wed Mar 30 2016 00:00:00 GMT+0800 (Malay Peninsula Standard Time)" 
DateTime.Parse(date) 

にSystem.FormatException: "文字列が有効な のDateTimeとして認識されませんでしたが"

+0

あなたが与えている日付はかなり混乱を招くようです。.. – MusicLovingIndianGirl

+0

私はのを使用してそれを得た – lim0721lim

+0

は、あなたがこの回答を確認しました:http://stackoverflow.com/questions/12675421/ datetime-parseexact-format-string?提案されているように、あなたはタイムスタンプを直接渡すことができますか? –

答えて

3

あなたの文字列が明確ないあらゆる文化のための標準的な日付と時刻の形式です。

文字列にUTCオフセットがあるため、代わりにDateTimeOffsetに解析します。そして、それはタイムゾーン名を保持しておらず、省略形なので、文字列の区切り文字としてエスケープする必要があります。そのためにはddd MMM dd yyyy HH:mm:ss 'GMT'zzz '(Malay Peninsula Standard Time)'形式を使用できます。

C#

var date = "Wed Mar 30 2016 00:00:00 GMT+0800 (Malay Peninsula Standard Time)"; 
var dto = DateTimeOffset.ParseExact(date, 
       "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz '(Malay Peninsula Standard Time)'", 
       CultureInfo.InvariantCulture); 

VB.NET

Dim [date] = "Wed Mar 30 2016 00:00:00 GMT+0800 (Malay Peninsula Standard Time)" 
Dim dto = DateTimeOffset.ParseExact([date], "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz '(Malay Peninsula Standard Time)'", CultureInfo.InvariantCulture) 

今、あなたは{30.03.2016 00:00:00 +08:00}としてDateTimeOffsetを持っています。今ではそれを.DateTime ot .UtcDateTimeのプロパティで使用できます。

enter image description here

+0

Ups、 'c#'タグが削除されました。私は 'vb.net'の構文に慣れていないので、http://converter.telerik.com/でこのコードを' vb.net'に変換しました。 –

関連する問題