Opublikowany
2025-09-24 05:09:01 UTC
przez:
Redaktor
Daty ze znaczników czasu UNIX w OpenOffice/LibreOffice
Nie odkryłem tego sam, raczej jest to coś, czego będę potrzebował od czasu do czasu, tworząc improwizowane raporty danych z sygnaturami czasowymi UNIX. Problem polega na tym, że masz szereg czasowy danych w arkuszu kalkulacyjnym, a czas jest wyrażony jako sygnatury czasowe UNIX (sekundy od epoki, 1970-01-01 00:00:00 UTC, bez uwzględnienia sekund przestępnych): jak przekonwertować te sygnatury czasowe na czytelną datę, np. „01/07/2012 01:00:00”? … Znalazłem bardzo przydatną sugestię na forum społeczności OpenOffice. Okazuje się, że „dzień 0” OpenOffice to 12 grudnia 1899 r.; oznacza to, że 1 stycznia 1970 r. to 25569 dzień dla OpenOffice. Jeśli podzielisz znacznik czasu UNIX przez 86400 (liczbę sekund w normalnym dniu), otrzymasz liczbę dni między epoką a tym znacznikiem czasu (oraz ułamek dziesiętny, którego możesz użyć do obliczenia godziny). A jeśli zsumujesz tę liczbę z 25569, otrzymasz dzień OpenOffice dla tego znacznika czasu.
Złóżmy to wszystko do kupy:
Jeżeli komórka H2 zawiera znacznik czasu UNIXTIMESTAMP [1745531011], wtedy ta formuła [=H2/86400+25569] zwróci liczbę. Jeśli sformatujesz tę komórkę jako datę, DD-MM-RRRR GG:MM:SS, to zobaczysz tam ładny wynik "2025-04-24 21:43:31"
Świetnie, prawda? Jestem pewien, że będzimy wracać do tego wpisu od czasu do czasu 🙂