Qual è il modo migliore per convertire la stringa fino ad oggi in C# se il mio formato della data in arrivo è in YYYYMMDD
Conversione di stringhe in data data NET se il mio formato della data in arrivo è in AAAAMMGG
Es: 20001106
Qual è il modo migliore per convertire la stringa fino ad oggi in C# se il mio formato della data in arrivo è in YYYYMMDD
Conversione di stringhe in data data NET se il mio formato della data in arrivo è in AAAAMMGG
Es: 20001106
Utilizzare DateTime.ParseExact(). Qualcosa di simile:
string date = "20100102";
DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);
DateTime.TryParseExact(myDateString, "yyyyMMdd",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out myDateVar)
Ho usato questo metodo in quanto mi ha permesso di controllare il valore di ritorno di TryParseExact e sapere se la data convertito correttamente. Ho impostato un valore predefinito quando non lo ha fatto. –
Controllare DateTime.ParseExact o DateTime.TryParseExact.
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);
uso DateTime.TryParseExact con una stringa di modello di "yyyyMMdd"
se siete su .NET 2.0 o superiore.
Se si è bloccato con .NET 1.1 utilizzare DateTime.ParseExact
vedere Standard DateTime Format Strings per le regole per fare le stringhe del modello.
L'utilizzo di TryParseExact è generalmente migliore di ParseExact in quanto non genera un'eccezione se la conversione fallisce. Invece restituisce true se è successo, false se non è:
DateTime dt;
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString());
}
@Dynami riprova, ho appena modificato con il formato corretto (caso del caso) –
Come per la soluzione di Luke funziona bene il formato della data deve essere 'yyyyMMdd' altrimenti sta aspettando che 'la stringa non è stata riconosciuta come un datetime valido' – Sreedhar