Определите, находится ли дата в пределах 2 дат в sqlCE - PullRequest
2 голосов
/ 20 июня 2011

У меня есть поле A sqlCE, введите текст, который содержит строку даты в следующем формате:

31/12/2011 11:29:09

Кроме того, у меня есть поле sqlCE B, введите текст, который содержит строку даты в следующем формате:

04/04/2011 10:12:01

Сегодняшняя дата в моем компьютере: 19/01/09 21:54:28

Как я могу проверить, находится ли сегодняшняя дата между датой A и датой B, для какого-либо региона или типа даты?

Заранее спасибо.

1 Ответ

3 голосов
/ 20 июня 2011

Если поле вашей базы данных имеет тип text, то сначала вам нужно проанализировать текстовое значение в (подлинное) значение даты / времени. Рекомендуемая функция для этого DateTime.ParseExact. Пример:

string myString = ...; // the value you read from the database
DateTime myDateTime = DateTime.ParseExact(myString, "dd/MM/yyyy HH:mm:ss", 
                                          CultureInfo.InvariantCulture);

О " с любым регионом или типом даты ", который вы упомянули в вопросе: Вот о чем говорит второй и третий параметр ParseExact: Здесь вы можете указать формат текстовых значений в База данных есть. (См. документацию к DateTime.ParseExact для получения более подробной информации.) Обратите внимание, что do необходимо указать формат: в противном случае функция не сможет определить, является ли 03/04/2010 четвертое марта или третье апреля.

После этого вы можете использовать обычные операции сравнения дат (например, if (datetime1 <= datetime2) { ... }), чтобы проверить, находится ли дата в пределах желаемого периода времени.

...