Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/104: Рейтинг темы: голосов - 104, средняя оценка - 4.78
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163

Преобразование DateTime в Date

08.08.2010, 12:03. Показов 20799. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
row - строка таблицы, содержащая поле dt_obn типа DateTime. Как получить значение типа Date для фильтра из dt_obn?
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2010, 12:03
Ответы с готовыми решениями:

Конвертация datetime в date
Добрый день! В базе обнаружился столбец типа date, подскажите, как имеющийся у меня тип datetime правильно в него конвертировать. ...

Запрос из базы возвращает в reader значение поля типа date как datetime +MS SQL Server 2008
В таблице есть поле типа Date, в таблицу добавлены записи, в это поле добавлена запись только с датой. Есть перекрёстный запрос на вывод...

Не удается перевести string date в DateTime
Добрый день! Подскажите пожалуйста, почему не получается перевести строку формата dd.mm.yyyy HH.mm.ss например "10.10.2009...

16
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
09.08.2010, 00:10
ну, насколько я понимаю, у шарпа-то есть только тип datetime. а вот у переменной такого типа есть компонента date.

C#
1
2
3
4
5
DateTime d = dt_obn;
 
string date = d.ToString("yyyy/mm/dd"); //Можно остановиться на string
//еще со стринг можно так
string d2=d.ToShortDateString();
обратно в datetime у меня что-то по прямому не получается.пишет ошибку преобразования.
ну всегда можно отрезать от строки по цифре, запихать в 3 переменных и сделать новую перемнную через конструктор Datetime
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163
09.08.2010, 00:17  [ТС]
Спасибо!
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.08.2010, 08:11
Если я правильно понял, нужно от даты отбросить время. Это делается след образом:
C#
1
DateTime d = dt_obn.Date;
При этом в переменной в d значения времени обнулятся.
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
09.08.2010, 08:17
ага, обнуляются, но остаются
1
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.08.2010, 08:42
Но ведь задание такое
Цитата Сообщение от АТерентьев Посмотреть сообщение
Как получить значение типа Date для фильтра из dt_obn?
Тут нужно получить "чистую" дату, для организации фильтра. А какой смысл гнать в строку? При вставке в параметр запроса всеравно придется преобразовывать в DateTime, при этом опять же появятся нулевые значения времени. Вот если бы вопрос был по отображению на экране, то несомненно пришлось бы конвертировать в строку указанным способом.
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
09.08.2010, 09:55
согласна, но для запроса и не обязательно перегонять в datetime, например:

SQL
1
string SQL = "select *  from t where d='"+d.ToString("yyyy/mm/dd")+"'"
тоже сработает. так что тут масса вариантов, конечночто автору нужнее)
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,163
10.08.2010, 00:12  [ТС]
Да, теперь полная ясность.
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
10.08.2010, 11:01
кстати, хочу уточнить, что при использовании

C#
1
string date = d.ToString("yyyy/MM/dd");
MM надо писать большими буквами,иначе не месяц получится
0
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 5
14.08.2010, 21:30
а если d в таблице t имеет тип Date, тогда что писать?
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
14.08.2010, 21:45
Ruzanna, не очень понятен вопрос.
что писать из чего? если вы туда пытаетесь дату без времени запихать, но никаикх проблем. если со временем - ну надо поэксперемнтировать. наверно, ругнется, а может и сам отрубит
0
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 5
17.08.2010, 15:03
у меня таблица с полем birthdate типа date.
нужно составить строку для фильтра, типа
DataView searchResultsDataView = new DataView(parentForm.DS.Tables["Students"]);
searchResultsDataView.RowFilter = "birthdate = '"+d.ToString(yyyy/mm/dd)+"'"; // вот тут то и дает исключение: "Невозможно выполнить операцию "=" над System.DateTime и System.String."

спасибо
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
17.08.2010, 15:50
Цитата Сообщение от Ruzanna Посмотреть сообщение
у меня таблица с полем birthdate типа date.
нужно составить строку для фильтра, типа
DataView searchResultsDataView = new DataView(parentForm.DS.Tables["Students"]);
searchResultsDataView.RowFilter = "birthdate = '"+d.ToString(yyyy/mm/dd)+"'"; // вот тут то и дает исключение: "Невозможно выполнить операцию "=" над System.DateTime и System.String."

спасибо
вы действительно так фильтр задаете??
должно быть вот так (кавычки в tostring)

C#
1
searchResultsDataView.RowFilter = "birthdate = '"+d.ToString("yyyy/mm/dd")+"'";
в БД формат записи даты точно yyyy/mm/dd?
0
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 5
17.08.2010, 17:00
да нет, эту часть я вручную набрала, вот и опечатка, извините.
да формат действительно оказался другим dd.mm.yyyy, но все равно выдается все тоже исключение
0
 Аватар для Terion
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
20.08.2010, 15:01
вот,гляньте
Вложения
Тип файла: rar WindowsFormsApplication1.rar (46.7 Кб, 82 просмотров)
1
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 5
22.08.2010, 22:54
разобралась! спасибо огромное!
0
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 13
13.09.2010, 13:43
Цитата Сообщение от Terion Посмотреть сообщение
согласна, но для запроса и не обязательно перегонять в datetime, например:

SQL
1
string SQL = "select *  from t where d='"+d.ToString("yyyy/mm/dd")+"'"
тоже сработает. так что тут масса вариантов, конечночто автору нужнее)
нененене! так делать незя) вот если будет формат даты на сервере другой то как делать будете?

C#
1
2
3
4
5
 SqlCommand cmd = new SqlCommand("select *  from t where d=@DateR", conn);
            SqlParameter param = new SqlParameter();
            param.ParameterName = "@DateR";
            param.Value = dt_obn.Date;
            cmd.Parameters.Add(param);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.09.2010, 13:43
Помогаю со студенческими работами здесь

DateTime -> SQL Server Date. Ошибка "Значение нарушает ограничение MaxLength для этого столбца"
Пытаюсь записать C# тип данных DateTime в SQL Server тип данных Date OleDbDataAdapter adapter = new OleDbDataAdapter(new...

Преобразование формата DATE в базе SQL
Помогите пожалуйста!как сделать что бы ввод даты был не формата "2016-03-30" а что то типо 30.03.2016)

Преобразование String в DateTime для записи в базу данных
Добрый день, проблема с преобразованием формата String в DataTime Имеется БД Access (в Visual Studio 2015) со столбцами...

TextBox. Преобразование типов из string в date и int
Нужно ввести в форме данные для добавления их в таблицу. Фото ошибки под спойлером namespace DATABESELOGIN { public partial class...

Преобразование текстового представления времени в формате UTC в локальное представление DateTime
Здравствуйте. Я в целом неплохо разбираюсь в классах DateTime и производных, но следующий случай поставил меня в тупик. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru