DateTime.ParseExact FormatException

mercoledì 04 marzo 2009 - 16.03

zaputino Profilo | Newbie

Ciao a tutti.

Utilizzando il framework .net 3.5 mi succede una cosa strana se cerco di ottenere un oggetto DateTime da una stringa.

Ho provato ad utilizzare il DateTime.ParseExact ma mi sono scontrato con un problema insolito.

In pratica se richiamo il metodo con questa sintassi mi da un'eccezione di tipo "FormatException".

DateTime.ParseExact("21-12-08 21:12:23", "dd-MM-yy HH:mm:ss", null).

Se uso "DateTime.ParseExact("21-12-08 21_12_23", "dd-MM-yy HH_mm_ss", null) " cambiando solo il separatore per il "TIME" tutto funziona.

Sbaglio qualcosa io ho è un bug?

Saluti

aiedail92 Profilo | Expert

Ciao

Il fatto è che il carattere ":" è uno dei caratteri di formato delle date e sta a rappresentare il separatore predefinito per ore, minuti e secondi (quello che si può impostare in Opzioni internazionali e della lingua, dal pannello di controllo) pertanto per eseguire la corrispondenza letterale del carattere, ne devi eseguire l'escape nel formato:

DateTime dt = DateTime.ParseExact("21-12-08 21:12:23", @"dd-MM-yy HH\:mm\:ss", null);

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5