strftime sqlite - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: strftime sqlite (
/showthread.php?tid=508679)
strftime sqlite -
Mr_Zlodei - 23.04.2014
Привет. Суть вопроса: как показать пользователю разницу двух дат формата dd.mm.yyyy hh:mm:ss
код:
PHP код:
db_query (sys_db, "INSERT INTO `database` (`olddate`) VALUES (strftime('%d.%m.%Y в %H:%M:%S', 'now', '15 day'))");
sys_result = db_query (sys_db, "SELECT * FROM `database` WHERE `olddate` < strftime('%d.%m.%Y %H:%M:%S', 'now', 'localtime')");
for(new i; i != db_num_rows (sys_result); ++i)
{
//?
db_next_row (sys_result);
}
к примеру в виде сообщения <<Это будет через 15 дней>>
у меня лишь идея записывать разницу в отдельный столбец и затем показывать, может можно и проще?
просто сообщение:
PHP код:
db_get_field_assoc (sys_result, "olddate", date, 24);
format (..., ..., "Это будет %s", date); //Это будет 23.04.2014 в 23:59:59
не подходит.
Re: strftime sqlite -
Eims - 23.04.2014
Unix Time + конвертация секунд в формат "dd.mm.yyyy hh:mm

s"?
Re: strftime sqlite -
Stepashka - 23.04.2014
Код:
SELECT FROM_UNIXTIME(`now` - `olddate`, '%d.%m.%Y %H:%i:%s') FROM `database` WHERE `olddate` < strftime('%d.%m.%Y %H:%M:%S', 'now', 'localtime')
Вернет отформатированную строку с датой.
`now` и `olddate` должны быть UNIXTIME т.е. integer.
А вообще это все описано тут
date-format
Re: strftime sqlite -
Mr_Zlodei - 24.04.2014
спасибо, но разобрался сам. Ответ нашел на sqlite.org(только там и обитаю). От формата dd.mm.yyyy придется отказаться, буду работать с datetime в моем случае неудобств это не составит.
мое решение:
PHP код:
"SELECT (julianday(дата из базы ('2014-05-24')) - julianday('now')) AS newtime FROM database"
с точностью до наносекунд результат мне не нужет, этот в полне устраивает.