2015-03-06 4 views
0

Мне нужна помощь.Как получить дату рождения C#

Я пишу веб-приложение в asp.net C#, я хочу получить следующий день рождения. У меня есть.

1 имя поля дата рождения, тип DateTime. Пример: 1991-01-02 00:0000:0000 (yyyy-MM-dd). Я хочу показать людям следующий день рождения в репитере.

select * from tblBirthday where birthdate between 2015-01-01 and datenow 

Но теперь все это я получаю в коде с datetime.now является string типа, дата рождения является datetime типом.
Как я могу получить datetime.now с datetime типа.

+2

С 'datenow' вы имеете в виду' DateTime.Now'? Если это так, это не строка, это DateTime. Мы также должны видеть ваш код за кодом. –

ответ

1

Что такое ваш datenow? Попробуйте использовать хранимую процедуру и сделать датировать параметр с datetime типа SQL, так что он будет работать на BETWEEN Constructure, или использовать встроенный в GETDATE() функции на SQL стороне сервера, как это:

select * from tblBirthday where birthdate between 2015-01-01 and GETDATE() 
0

использовать Sql CAST AND CONVERT

синтаксис для CAST: CAST (выражение AS data_type [(длина)])

синтаксис для CONVERT: ПРЕОБРАЗОВАНИЯ (тип_данных [(длина)], выражение [ , стиль])

подобный.

select * from tblBirthday where Cast(birthdate as date) between 
cast('01/01/2015' as date) and cast(getdate() as date) 
--where getdate() is the sql function to get current datetime. 
0

Убедитесь, что в C#, вы передаете DateTime.Now и не DateTime.Now.ToString() или вы можете сделать ваше форматирование DateTime «ДД-ММ-уу», а затем бросить его в надлежащее datetime, как показано ниже ...

DateTime datetimenow = DateTime.Parse(DateTime.Now.ToString("dd-MM-yy"));