Решения для сравнения дат - PullRequest
0 голосов
/ 29 июня 2010

Использование C # и MySQL

Table1

ID Date1 Date2

001 04/05/2010 05/06/2010
002 04/06/2010 07/08/2010
....,

до Date2 Тип данных - Varchar, формат: мм / дд / гггг

Дата всегда сравнивается с системной датой,когда дата истекает, он покажет сообщение для меня 1 неделю, как это ..

7 days to expire
6 day to expire
5 day to expire
...
...
1 day to expire.

1 Ответ

4 голосов
/ 29 июня 2010

Не используйте строки для дат. Это кажется логичным решением проблем локализации, но это всегда будет намного сложнее, чем стоит.

При этом, если вы настроены на это решение, вы можете использовать DateTime.Parse с провайдером IFormat для анализа конкретной реализации даты:

DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
dtFormat.DateSeparator = "/";
dtFormat.TimeSeparator = ":";
dtFormat.ShortDatePattern = "MM/dd/yyyy";
dtFormat.ShortTimePattern = "HH:mm:ss";
return dtFormat;

Как только у вас есть дата (и опять же, было бы проще получить ее из базы данных без анализа / выполнения сравнений в коде), вы можете рассчитать временной интервал в C # следующим образом:

DateTime.Now.Subtract(myDate).TotalDays

Функция Subtract возвращает TimeSpan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...