Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.06.2017, 19:58   #1
Aoizora
Форумчанин
 
Аватар для Aoizora
 
Регистрация: 11.11.2016
Сообщений: 235
Репутация: 107
По умолчанию Преобразование даты из поля DATE на C++

Храню в базе SQLite дату в поле типа DATE. В приложении мне нужно работать с этой датой. Как мне преобразовать извлеченное значение даты и в какой формат? Стоит ли преобразовывать ее в std::time_t, если в задаче мне надо работать с годами?
Aoizora вне форума   Ответить с цитированием
Старый 20.06.2017, 20:55   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,134
Репутация: 1564
По умолчанию

В SQLite нет типа DATE.
Ref:
http://www.sqlite.org/datatype3.html
waleri вне форума   Ответить с цитированием
Старый 20.06.2017, 21:09   #3
Aoizora
Форумчанин
 
Аватар для Aoizora
 
Регистрация: 11.11.2016
Сообщений: 235
Репутация: 107
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
В SQLite нет типа DATE.
Ref:
http://www.sqlite.org/datatype3.html
Есть же:

NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME

Дата в формате '2017-06-14'.

Последний раз редактировалось Aoizora; 20.06.2017 в 21:12.
Aoizora вне форума   Ответить с цитированием
Старый 21.06.2017, 23:51   #4
Aoizora
Форумчанин
 
Аватар для Aoizora
 
Регистрация: 11.11.2016
Сообщений: 235
Репутация: 107
По умолчанию

До сих пор не решил проблему. Может, хранить дату в другом формате? Какой формат наиболее удобен для работы с датой на C++?
Aoizora вне форума   Ответить с цитированием
Старый 22.06.2017, 02:14   #5
Alexander Gamza
Пользователь
 
Регистрация: 14.06.2017
Сообщений: 24
Репутация: 10
По умолчанию

Лучше не заморачиваться и хранить дату в поле типа varchar, а если нужно извлечь дату в удобоваримом формате
Код:

AnsiString TfMap::fTrimDate(AnsiString s)
{

   AnsiString dd[3];

	if(s.Pos("-")){

	  dd[0]=s.SubString(1, s.Pos("-")-1);
	  s.Delete(1, s.Pos("-"));
	  dd[1]=s.SubString(1, s.Pos("-")-1);
	  s.Delete(1, s.Pos("-"));
	  dd[2]=s;

	  s="";

	  s=dd[2]+"."+dd[1]+"."+dd[0];

	}


   return s;

}

Alexander Gamza вне форума   Ответить с цитированием
Старый 22.06.2017, 17:22   #6
Aoizora
Форумчанин
 
Аватар для Aoizora
 
Регистрация: 11.11.2016
Сообщений: 235
Репутация: 107
По умолчанию

Цитата:
Сообщение от Alexander Gamza Посмотреть сообщение
Лучше не заморачиваться и хранить дату в поле типа varchar, а если нужно извлечь дату в удобоваримом формате
Код:

AnsiString TfMap::fTrimDate(AnsiString s)
{

   AnsiString dd[3];

	if(s.Pos("-")){

	  dd[0]=s.SubString(1, s.Pos("-")-1);
	  s.Delete(1, s.Pos("-"));
	  dd[1]=s.SubString(1, s.Pos("-")-1);
	  s.Delete(1, s.Pos("-"));
	  dd[2]=s;

	  s="";

	  s=dd[2]+"."+dd[1]+"."+dd[0];

	}


   return s;

}

Грязно как-то.
Aoizora вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual Basic, преобразование из doube в date Lord-of-Hedgehogs Помощь студентам 1 18.01.2011 14:01
Запись даты в Paradox - поля date time xKLONx БД в Delphi 6 17.08.2010 17:40
Преобразование даты alco84 Microsoft Office Access 2 17.03.2010 18:45
Преобразование даты Яр|/||< (^_^) Общие вопросы Delphi 7 18.02.2010 15:45
MySQl+PHP5 формат поля DATE Geddar SQL, базы данных 1 03.05.2009 16:54




05:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru