Utilizator anonim
Mai mult
Conversia unui Șir la DateTime
Cum a face tu a converti un șir de caractere, cum ar fi `2009-05-08 14:40:52,531 într-o "DateTime"?
551
14
Din moment ce sunt de manipulare 24 de ore pe bază de timp și aveți o virgulă separă secunde fracțiune, vă recomandăm să specificați un format personalizat:
Ai practic două opțiuni pentru acest lucru.
DateTime.Parse () " și " DateTime.ParseExact()
.Primul este foarte iertător în ceea ce privește sintaxa și va analiza datele în mai multe formate diferite. Este bun pentru o intrare de utilizator, care ar putea veni în diferite formate.
ParseExact va permite să specificați exact formatul de data string la utilizarea pentru analizare. Este bine să utilizați acest lucru, dacă șirul este întotdeauna în același format. În acest fel, puteți detecta cu ușurință orice abateri de la date de așteptat,.
Puteți analiza de utilizator de intrare astfel:
Dacă aveți un format specific pentru șirul, ar trebui să utilizați o altă metodă:
"d" standuri pentru scurt data model (a se vedea [MSDN pentru mai multe informatii][1]) și
null` precizează că actuala cultură ar trebui să fie utilizate pentru analiză în șir.încercați acest lucru
un mod mai bun ar fi asta:
utilizarea DateTime.Parse(șir)
Se pare ca nimeni nu a pus în aplicare o metodă de prelungire. Cu ajutorul @CMS's a răspunde:
De lucru și îmbunătățirea sursă complet exemplu este aici: Gist Link
Încercați de mai jos, unde strDate este data in 'LL/zz/aaaa' format
Am încercat diferite moduri. Ceea ce a funcționat pentru mine a fost asta:
"date" pentru mine a fost astfel de momente 9/24/2017 9:31:34 AM
Convert.ToDateTime sau DateTime.Parse
Ai putea folosi, de asemenea, DateTime.TryParseExact() ca mai jos dacă nu sunteți sigur de valoarea de intrare.
DateTime.Analiza
Sintaxa:
Exemplu:
L's, de asemenea, demn de amintit DateTime este un obiect care este stocată ca și numărul intern în cadrul, Formatul se aplică numai când te converti înapoi la string.
Parsarea conversia unui șir la interne tip de număr.
Formatare de conversie internă valoare numerică de la un ușor de citit șir.
Recent am avut o problemă în cazul în care am fost încercarea de a converti un DateTime pentru a trece la Linq ce nu m't dat seama la timp a fost format este irelevant atunci când trece DateTime pentru o Interogare Linq.
Full DateTime Documentația
Pune acest cod într-un static class
> public static class ClassName{ }
În acest mod, puteți utiliza
Diferite culturi din lume, scrie data siruri de caractere în diferite moduri. De exemplu, în SUA 01/20/2008 este 20 ianuarie, 2008. În Franța, acest lucru va arunca o InvalidFormatException. Acest lucru este pentru că Franța citește data-ori Zi/Lună/An, iar în SUA este Lună/Zi/An.
În consecință, un șir de caractere ca 20/01/2008 va analiza la 20 ianuarie 2008, în Franța, și apoi arunca un InvalidFormatException în SUA.
Pentru a determina cultura actuală setări, puteți utiliza Sistemul.Globalizarea.CultureInfo.CurrentCulture.
acesta vă oferă