Имам достъп до API на Evernote чрез evernote gem за ruby on rails и съхранявам обектите (тетрадки, тагове, бележки и т.н.) в база данни на Postgresql.
Evernote връща времеви отпечатъци, които изглеждат така:
- 1344141917000
- 1344141967000
- 1344138641000
В документацията за API на evernote се казва, че това е броят милисекунди, изминали от базовото време на 1 януари 1970 г., 00:00:00 GMT
Проведох следното упражнение в rails конзолата в опит да реконструирам датата.
evernote_timestamp_base = Time.gm(1970,01,01,00,00,00)
=> 1970-01-01 00:00:00 UTC
evernote_timestamp_base + 1344138641000
=> 44564-01-22 04:43:20 UTC
Определено не е правилно. Но изрязването на последните три нули дава правилната дата:
evernote_timestamp_base + 1344138641
=> 2012-08-05 03:50:41 UTC
Пропускам ли нещо тук? Каква е работата с последните три нули? Ще трябва ли да анализирам и нарязвам стойностите на evernote timstamp и след това да ги добавя към базата от 1970 г. или има по-лесен начин?
Също така, кой е най-добрият тип данни на Postgresql за съхраняване на тези стойности?
Благодаря ви предварително за помощта.