Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / now в секунды юникса и обратно + / 7 сообщений из 7, страница 1 из 1
13.07.2016, 21:06
    #39273420
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
сорри
Код: sql
1.
select strftime('%Y-%m-%d',cast(strftime('%s', 'now') as string)), date('now')




а че даты разные?

1 4015-47-07 2016-07-13
...
Рейтинг: 0 / 0
13.07.2016, 21:08
    #39273421
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
и как из секунд с 1 января 70 года восстановить дату тайм?
...
Рейтинг: 0 / 0
13.07.2016, 21:29
    #39273424
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
>> а че даты разные?

Мануал объясняэ, что 12-й формат time string - это juliandate, а не выход strftime('%s',...)
Код: sql
1.
2.
3.
4.
-- фу так делать:
select strftime('%Y-%m-%d', cast(strftime('%s', 'now') as string))
-- правильное, годное употребление:
select strftime('%Y-%m-%d', cast(julianday('now') as string))
...
Рейтинг: 0 / 0
13.07.2016, 22:04
    #39273429
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
MrCat,
я хочу хранить в бд секунды юникса, мне по ним надо делать индекс
// это время когда использовалась картинка из кеша
то, что использовалось давно хочу удалять.
кроме собственно интов хочу видеть дату глазами в виде год месяц день час минута секунда.
// вью можно сделать где будут секунды и дата в виде текста
поэтому интересно
как из секунд юникса восстановить дату в виде текста?
...
Рейтинг: 0 / 0
13.07.2016, 22:26
    #39273435
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
Оттуда жеThe "unixepoch" modifier ... causes the DDDDDDDDDD to be interpreted not as a Julian day number as it normally would be, but as Unix Time - the number of seconds since 1970
Кроме того, для желающих странного лентяев у нас всегда найдутся проклятые жёлуди и спички .
...
Рейтинг: 0 / 0
16.07.2016, 15:11
    #39275103
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
now в секунды юникса и обратно +
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
-- конвертация времени в секунды юникса и обратно

select  datetime ('1970-01-01', strftime('%s', 'now') ||' seconds', 'localtime')
union
select  datetime ('1970-01-01', strftime('%s', 'now') ||' seconds');


-- извлечение из БД секунд юникса в виде времени и целых

select nt,  datetime ('1970-01-01', uSecs ||' seconds'), uSecs from  tdtmTst



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
drop table if exists tdtmTst;
create table tdtmTst (         --  тестирование различных версий времени
  id   INTEGER PRIMARY KEY autoincrement
  ,nt   varchar(512)
  ,dttm    datetime     DEFAULT CURRENT_TIMESTAMP
  ,tm      time DEFAULT CURRENT_TIMESTAMP
  ,tmstmp  time DEFAULT CURRENT_TIMESTAMP 
  ,dt      date DEFAULT CURRENT_TIMESTAMP
  ,uSecs   int
  ,val  varchar(256)            
);

insert into tdtmTst (usecs, val, nt) values ( 1, '1', 'первая запись');
insert into tdtmTst (dt, usecs, val, nt) 
     values ( date('now', '1 months')
               ,  1
               , '2'
               , 'прибавил месяц к дате')
;
insert into tdtmTst (dttm, usecs, val, nt) 
     values ( datetime('now', '1 months', '1 days','-25 hours')
         ,  strftime('%s', datetime('now', '1 months', '1 days' ))
         , '3'
         , 'прибавил месяц без одного часа')
;
insert into tdtmTst (dttm, tm, usecs, val, nt) 
    values ( datetime('now', '60  minutes')
             , time('now', '61 minutes')
             , strftime('%s', datetime('now', '61 minutes' ))

             , '4'
             , 'прибавил 61 минуту')
;  
insert into tdtmTst (dttm,usecs, val, nt) 
       values ( datetime('now', 'localtime')
                , strftime('%s', datetime('now'))
                 , '1'
                  , 'вставил локальное время и секунды юникса')
;


select tm, time(tm,'localtime') from tdtmTst; -- переход от ютс вермени к локальному


-- конвертация времени в секунды юникса и обратно

select  datetime ('1970-01-01', strftime('%s', 'now') ||' seconds', 'localtime')
union
select  datetime ('1970-01-01', strftime('%s', 'now') ||' seconds');


-- извлечение из БД секунд юникса в виде времени и целых

select nt,  datetime ('1970-01-01', uSecs ||' seconds'), uSecs from  tdtmTst 

...
Рейтинг: 0 / 0
28.07.2016, 22:33
    #39282284
now в секунды юникса и обратно +
спасибо
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / now в секунды юникса и обратно + / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]