Re: Распознавание строки как DateTime
От: Qbit86 Кипр
Дата: 20.12.08 21:01
Оценка: +1
D>...строки в DateTime с заранее неизвестным форматом...

9.11.2001 — это 9-ое ноября или 11-ое сентября?

D>...чтобы гибко принимала строку?


Так что всё-таки придётся требовать от пользователя ввода даты в некотором заранее известном (с точностью до разделителей) формате. Советую использовать «истинно программистский» стандарт даты/времени ISO 8601, и просить пользователя вводить данные в лексикографическом формате. В этом случае стандартные функции DateTime.Parse() и DateTime.TryParse() должны нормально работать:
var iso8601 = DateTime.Parse("2008-09-23T05:36:32.1234");
Console.WriteLine(iso8601);
var iso8601simple = DateTime.Parse("2008-09-23 05:36");
Console.WriteLine(iso8601simple);
var utc = DateTime.Parse("2008/03/19 19:57Z");
Console.WriteLine(utc);
var yetAnother = DateTime.Parse("2008.12.20");
Console.WriteLine(yetAnother);
var withMonth = DateTime.Parse("2008 Nov 20");
Console.WriteLine(withMonth);
var withMonthRus = DateTime.Parse("2008 Сентябрь 20");
Console.WriteLine(withMonthRus);
Глаза у меня добрые, но рубашка — смирительная!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.