2011-01-07 10 views
1

に文字列を変換する:木1月6日午前12時17分19秒CST 2011私はこの形式で日付を返すWebサービスを照会しています日付

私はSQLと互換性のdatetime値に変換する必要があります任意のアイデアですか?

+5

クラブという形式で日付を返すことを決めた人? – LittleBobbyTables

+1

あなたはどの言語を使用していますか?さまざまなアプローチがありますが、言語の選択によって異なります。 –

答えて

0

まず、Webサービス開発者にもう少し標準化されたdatetimeを返すように依頼できますか?好ましくはUTCかそのようなもの?

もしそうでなければ、必要に応じてSQL Serverでこれを行うことができます。あなたは、次の変換を得るためにサブストリングと、いくつかの仮定を使用することができます。

DECLARE @date nvarchar(50) 
SET @date = 'Thu Jan 06 12:17:19 CST 2011' 

PRINT @date 

PRINT cast(right(@date, 4) + '/' + 
    substring(@date, 5, 3) + '/' + 
    substring(@date, 9, 2) + ' ' + 
    substring(@date, 12, 8) as datetime) 

それは月が常に3文字の形式になりますことを前提としていません。このすべての面では、CSTの部分があります。返す時間が自分のタイムゾーンと異なる場合、その時間は無効です。これを実行する

が返されます:

Thu Jan 06 12:17:19 CST 2011 
2011/01/06 12:17:19 
+0

タイムゾーンを評価するためにTZoffsetをCASE文とともに使用できると思われます。私はこれをDelphiのコードで一度書いています...タイムゾーンの可能なすべての名前のために長いですが、動作します。 – IamIC

関連する問題