Как да зададете дата и час с Unix Epoch Format



Опитайте Нашия Инструмент За Премахване На Проблемите

Епохата на Unix започна в 00:00:00 UTC в четвъртък, 1 януари 1970 г. Оттогава системите на Unix отчитат времето, като броят секундите от настъпването на тази дата. Unix, както и различните внедрения като Linux и FreeBSD, отчитат времето като буквален брой секунди оттогава минус броя на скоковите секунди, които са се осъществили.



Това не е концепция, с която много потребители или дори програмисти влизат ежедневно в контакт. Въпреки това, ако знаете колко секунди са изминали от началото на епохата на Unix, можете всъщност да зададете времето в системата си. Ще трябва да работите върху интерфейс на командния ред, така че задръжте Ctrl, Alt и F1-F6, за да стигнете до виртуален терминал, или натиснете Ctrl + Alt + T, за да получите графичен. Можете също да потърсите терминала за думи в Ubuntu Dash или да го стартирате от менюто Приложения и след това от Системни инструменти в LXDE, KDE и от менюто Whisker в Xfce4.



Метод 1: Използване на инструмента за дата на GNU за задаване на времето на Unix Epoch

Добре е да се уверите, че сте форматирали правилно низа с дата, преди да се опитате да настроите часовника към него. Тип дата -d ‘@ 1501959335’ и натиснете enter, за да преобразувате броя секунди от 1 януари 1970 г. във формат, предпочитан от хората. Можете да замените 1501959335 с всеки валиден времеви печат на Unix. Ние просто използвахме това за пример, защото това беше текущото време на Unix в един момент, докато пишехме тази статия.



Трябва да получите редовна дата и час, както и часовата зона за вашата локална машина. Когато сте сигурни, че имате нещата както трябва, можете да използвате командата дата -s ‘@ 1501959335’ за да настроите часовника на този времеви печат. Ако получите грешка, която гласи „дата: не може да зададе дата: Операцията не е разрешена“, последвана от текущата дата, тогава сте се опитали да я стартирате като потребител. Тип sudo date -s ‘@ 1501959335’ и натиснете enter, за да настроите часовника. Не забравяйте да използвате валиден времеви печат на Unix вместо цифрите, които посочихме в нашия пример.

Естествено, ще бъдете попитани за паролата си, преди да продължите да получавате root достъп.



Метод 2: Използване на софтуер за дата на BSD

Ако използвате някоя от различните * BSD операционни системи, тогава всъщност ще трябва да използвате различен синтаксис, когато става въпрос за командата date. Това важи и за потребителите на FreeBSD, OpenBSD, NetBSD и евентуално някои реализации на Дарвин. Потребители на Linux и други Unix-подобни операционни системи

За да преобразувате секундите от началото на епохата на 1 януари 1970 г., въведете дата -r 1501959335 в подканата и натиснете enter. За пореден път можете да замените 1501959335 с всеки валиден Unix времеви печат.

Въведете дата „$ (дата -r 1501959335 +’% y% m% d% H% M.% S ’)“ и натиснете Enter, за да зададете датата от началото на епохата. Това е малко по-сложно в тези базирани на BSD операционни системи, тъй като трябва да му кажете новия формат за датата и часа, но в крайна сметка той работи по същия начин в крайна сметка. Повече от вероятно ще ви е необходим root достъп, за да зададете новата дата.

Метод 3: Преглед на текущото Unix време

Ако искате да видите текущия печат на епохата на Unix, тогава стартирайте дата +% s от командния ред. Това ще изведе текущото време като брой секунди от началото на епохата на Unix. Ще го върнете бързо на следващия ред.

Всъщност можете да получите и графично представяне, ако предпочитате. Тип xclock -d -utime в командния ред и натиснете enter. При условие, че имате инсталирани класическите приложения XFree86, ще получите прозорец, плаващ над вашия терминал, който ви дава текущия брой секунди.

3 минути четене