2016-09-05 15 views
0

2016-09-02T16:18:54.000 UTCのような日付を返すJavaクライアントを使用しています。エンディングが正確に標準フォーマットではないことに注目してください。問題の解析(ほとんど)C#での往復の種類の日付

私は、「UTC」私は成功した日付を解析することができますトリム場合:

DateTime.Parse("2016-09-02T16:18:54.000") 

をが、結果の種類ではなく、UTC(明らかに)で、指定されていません。

DateTime.Parse("2016-09-02T16:18:54.000Z", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind) 

しかし、理想的に私は入力しないと混乱したい:私はそうのような「Z」と「UTC」を交換することによりことをバイパスすることができます。

はTryParseExactと異なるフォーマットでこれで突き刺しのカップルを取ったが、それぞれ1で失敗しました:

DateTime.TryParseExact("2016-09-02T16:18:54.000 UTC", new [] { 
"o", 
"yyyy-MM-dd hh:mm:ss:fff UTC", 
"yyyy-MM-ddhh:mm:ss:fff UTC", 
"yyyy-MM-ddThh:mm:ss:fff UTC" 
}, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out startDate) 

othersが正常にそれを使用しているので、私は(「UTC」キーワードは問題ではないかなり確信しています)のではなく、私が解析する方法を知っているように見えることはできません「T」があること:私は暗黙のうちに私の2番目のコードスニペットで使用されたと考えていなくても、「o」は形式が動作しているようです:

DateTime.TryParseExact("2016-09-02T16:18:54.000Z", "o", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out startDate) 

答えて

1

の場合あなたの入力は2016-09-02T16:18:54.000 UTCのようになります。これは私のために働きます:

DateTime.TryParseExact("2016-09-02T16:18:54.000 UTC", 
"yyyy-MM-ddTHH:mm:ss.fff UTC" 
, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out startDate); 
+0

オペコードに関する@CodeCaster、彼の入力は「2016-09-02T16:18:54.000 UTC」ですか? – Pikoh

+0

UTCの前のスペースは問題ではなく、hhの代わりにHHを使用して固定しました。 –

+0

あなたは大丈夫です@AlexandruMarculescu – Pikoh

関連する問題