Analizzare in uno DateTimeOffset
invece, dato che hai uno uno scostamento. Dal documentation of the zz
specifier che si sta utilizzando:
Con valori DateTime, il "zz" formato personalizzato identificatore rappresenta il firmato scostamento del fuso orario del sistema operativo locale da UTC, misurato in ore. Non riflette il valore della proprietà DateTimeKind di un'istanza. Per questo motivo, l'identificatore di formato "zz" non è raccomandato per l'uso con i valori DateTime.
Così ci si finisce con:
DateTimeOffset result;
bool success = DateTimeOffset.TryParseExact
(text, "ddd MMM dd HH:mm:ss 'GMT'zzz yyyy",
CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
Da lì, si può prendere la parte DateTime
, che sarà mezzanotte del 11 settembre.
Se volete solo una data, è possibile utilizzare il mio progetto Noda Time per creare un LocalDate
:
LocalDate = OffsetDateTime.FromDateTimeOffset(result).LocalDateTime.Date;
(supporto mi piacerebbe suggerire l'analisi direttamente a OffsetDateTime
, ma non ce l'ho speriamo di includerlo nella versione 1.2)
fonte
2013-02-08 14:07:11
Il problema è che ricevo "10.09.2011" (sbagliato) anziché "11.09.2011" (corretto). I. e. Ho bisogno di un suggerimento su come modificare il codice in modo che 'result' sia uguale a' 11.09.2011 ... '(dove ... è il momento, che per me è irrilevante). –