2

重複の可能性:
PST / CEST/UTCなどの形式のタイムゾーンでDateTimeを解析します

OK、DateオブジェクトをStringに変換するJavaのコードは次のとおりです。

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzz");
String str = dateFormat.format(new Date());
// outputs: 2012-12-17 15:44:57 CST

その文字列をC#で記述されたWebServiceにネットワーク経由で送信しています。したがって、 C#のzzzが異なるため、以下が機能しないことを考慮して、その文字列を有効なDateTimeに解析して戻すにはどうすればよいでしょうか。

DateTime.ParseExact(parts[2], "yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture.DateTimeFormat);

そして、誰かがそれを提案する前に-私はUTC時間で行くことができることを知っています、しかし私はそれをこのようにする必要があります。

何か案は?

4

1 に答える 1

2

CSTは有効な .NET タイムゾーン識別子ではありません。

.NET では、これらはすべて数値オフセットです -+0700など-0500...

.NET で解析する場合は、数値のタイムゾーン オフセットを出力する必要があります。

ここyyyy-MM-dd HH:mm:ss Zで見られるように、Java で使用することをお勧めします。

別の方法はusingに変換するCSTことですが、これはどちらもスケーラブルではなく、名前付きタイムゾーンのあいまいさで失敗する可能性があります (場所によって異なるタイムゾーンを意味する可能性があります)。-0600string.ReplaceCST

于 2012-12-17T21:55:27.233 に答える