Синхронизация даты и времени в читаемом формате из таблицы SQLite DB [дубликат]

Очень короткий ответ заключается в том, что вы не можете.

Thrust не имеет алгоритмов внешнего продукта, что было бы необходимо для выполнения того типа вычисления, которое вам было бы интересно. Вы могли бы сделать это, заполнив две матрицы строками / столбцы двух входных векторов, а затем прямо вычесть их. Но это было бы очень неэффективно (как память, так и производительность) по сравнению с надлежащей реализацией внешнего продукта.

13
задан Konstantin.Efimenko 7 June 2013 в 06:59
поделиться

3 ответа

Один из поддерживаемых форматов даты / времени SQLite - это временные метки Unix, т. е. секунды с 1970 года. Чтобы преобразовать миллисекунды в это, просто разделите на 1000.

Затем используйте несколько функция даты / времени , чтобы получить год и месяц:

SELECT strftime('%Y-%m', MillisField / 1000, 'unixepoch') FROM MyTable
42
ответ дан CL. 23 August 2018 в 07:04
поделиться
  • 1
    См. Ниже ответ на @bsvtag. Это включает 'localtime' – Mikitz06 4 May 2017 в 12:38
  • 2
    @ Mikitz06 Эти миллисекундные отметки времени определяются как находящиеся в UTC. Должен ли результат быть UTC или в каком-то локальном часовом поясе зависит от приложения. – CL. 4 May 2017 в 13:32
  • 3
    Это справедливо, сэр! :) – Mikitz06 6 May 2017 в 01:24
  • 4
    вы maannn !! – belphegor 11 December 2017 в 13:45

Вам нужно избегать преобразования миллисекунд на дату или функцию для преобразования миллисекунд на сегодняшний день? Поскольку функции даты sqlite работают с секундами, вы можете попробовать

  • конвертировать миллисекунды в свой запрос, например select date(milliscolumn/1000,'unixepoch','localtime') from table1
  • конвертировать миллисы в секунды, прежде чем сохранять его в db , а затем использовать функцию даты в sql-запросе
15
ответ дан bsvtag 23 August 2018 в 07:04
поделиться
  • 1
    Это должен быть правильный ответ, потому что без параметра localtime время не соответствует правилу (по Гринвичу позаботится). – Leeeeeeelo 17 March 2015 в 14:42

Datetime ожидает эпохальное время, которое находится в количестве секунд, пока вы проходите в миллисекундах. Конвертировать в секундах & amp;

SELECT datetime(1346142933585/1000, 'unixepoch');

Можно проверить это из этого скрипта

http://sqlfiddle.com/#!5/d41d8/223

18
ответ дан Mit Bhatt 23 August 2018 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: