2016-05-27 2 views
1

Кто-нибудь знает, на каком основании Evernote вычисляет дату и время?Дата из Evernote date_created timestamp field

мне нужно иметь дело непосредственно с таблицей заметок в Evernote SQLite БД и документацией относится народ к SQLite инструкции https://www.sqlite.org/lang_datefunc.html

Хранимое время +736012,8334375 должен дать 2016/02/18 21:00

Я пробовал несколько вариантов, таких как

select datetime(((((736012.8334375)*1000/60)/60)/24), 'unixepoch'), datetime(((736012.8334375)), 'unixepoch'), datetime(736012.8334375, 'unixepoch'), strftime('%s', 'now'), strftime('7736012.8334375', 'unixepoch'), datetime((736012.8334375 *1000), 'unixepoch') 

давая

"1970-01-01 23:39:46", "1970-01-09 12:26:52", "1970-01-09 12:26:52", "1464341058" ,, "1993-04- 28 16:00:33"

Эта формула Excel

=((((736012.8334375)*1000/60)/60)/24)+DATE(1970,1,1)+(1/24) 

становится ближе с

4/28/93 5:00 PM

, но все еще бит.

Что я делаю неправильно?

ответ

1

Вот формула я прибыл в для определения реальной даты даты Evernote в:

unixTime = (EvernoteTime * 86400) - 62135683200 

Я проверил это с несколькими часовыми поясами путем экспорта данных из приложения Evernote для HTML и вручную, проверяющего раз матч.

Я не уверен, откуда берутся 62135683200. Это не совсем разница между эпохой unix и нулем года, но после достижения правильного значения я перестала пытаться понять это.

+0

Спасибо за это. Googling – EamonnEd

+0

Googling 62125683200 возвращает некоторые интересные результаты из модулей Perl Datatime. Кажется, это время UTC 1970-01-01 - еще раз спасибо – EamonnEd