Μετατροπέας χρονοσήμανσης Unix

Διαφήμιση

Εισάγετε μια χρονοσήμανση Unix για να τη μετατρέψετε σε αναγνώσιμη ημερομηνία, ή επιλέξτε μια ημερομηνία για να λάβετε τη χρονοσήμανση της.

Τρέχων χρόνος Unix
-
-

Χρονοσήμανση Unix → Αναγνώσιμη μορφή

-

Αναγνώσιμη μορφή → Χρονοσήμανση Unix

-
Γρήγορες χρονοσημάνσεις:

Λάβετε την τρέχουσα χρονοσήμανση Unix ή μετατρέψτε μεταξύ χρονοσημάνσεων και ημερομηνιών στη γλώσσα προγραμματισμού σας.

-
-

Αξιοσημείωτες χρονοσημάνσεις Unix

ΧρονοσήμανσηΗμερομηνία (UTC)Περιγραφή

Μονάδες χρόνου σε δευτερόλεπτα

ΜονάδαΔευτερόλεπτα
Σας φάνηκε χρήσιμο αυτό το εργαλείο;
Θέλετε να μας πείτε περισσότερα;
0/500
Θέλετε να επικοινωνήσουμε μαζί σας;
Ευχαριστούμε για τα σχόλιά σας!
Διαφήμιση

Σχετικά με αυτό το εργαλείο

Αυτό το εργαλείο μετατρέπει μεταξύ χρονοσημάνσεων Unix και αναγνώσιμων ημερομηνιών και στις δύο κατευθύνσεις. Μια χρονοσήμανση Unix (επίσης γνωστή ως χρόνος Epoch ή χρόνος POSIX) αντιπροσωπεύει τον αριθμό των δευτερολέπτων που έχουν παρέλθει από την 1η Ιανουαρίου 1970, στις 00:00:00 UTC — μια στιγμή γνωστή ως η Εποχή Unix. Αυτό το σύστημα αρίθμησης επιλέχθηκε από τους δημιουργούς του Unix στα Bell Labs επειδή παρείχε έναν απλό, ανεξάρτητο ζώνης ώρας τρόπο αναπαράστασης οποιασδήποτε στιγμής ως ένας μόνο ακέραιος. Οι χρονοσημάνσεις χρησιμοποιούνται εκτενώς στον προγραμματισμό, τις βάσεις δεδομένων, τα αρχεία καταγραφής, τα APIs και τη διαχείριση συστημάτων. Το εργαλείο υποστηρίζει τόσο τυπικές χρονοσημάνσεις (δευτερόλεπτα) όσο και χρονοσημάνσεις σε χιλιοστά του δευτερολέπτου (που χρησιμοποιούνται από JavaScript, Java και πολλά σύγχρονα APIs). Μπορείτε να μετατρέψετε οποιαδήποτε ημερομηνία του Γρηγοριανού ημερολογίου στην αντίστοιχη χρονοσήμανση Unix, ή να αποκωδικοποιήσετε οποιαδήποτε χρονοσήμανση για να δείτε την αντίστοιχη ημερομηνία, ώρα, ημέρα της εβδομάδας και τη διαφορά ζώνης ώρας. Η τρέχουσα χρονοσήμανση Unix εμφανίζεται και ενημερώνεται σε πραγματικό χρόνο. Η κατανόηση των χρονοσημάνσεων είναι απαραίτητη για την αποσφαλμάτωση αρχείων καταγραφής εφαρμογών, την εργασία με APIs, την ανάλυση εγγραφών βάσεων δεδομένων και τον συγχρονισμό συστημάτων μεταξύ διαφορετικών πλατφορμών. Όλες οι μετατροπές γίνονται τοπικά στον περιηγητή σας χρησιμοποιώντας το Date API της JavaScript.

Η Ιστορία του Χρόνου Unix

Το λειτουργικό σύστημα Unix δημιουργήθηκε στα Bell Labs από τους Ken Thompson και Dennis Ritchie το 1969-1970. Χρειάζονταν έναν απλό τρόπο παρακολούθησης του χρόνου και επέλεξαν τα μεσάνυχτα UTC της 1ης Ιανουαρίου 1970 ως σημείο εκκίνησης — γνωστό ως η "εποχή". Η επιλογή ήταν πρακτική: ήταν μια πρόσφατη, στρογγυλή ημερομηνία που ελαχιστοποιούσε τον αποθηκευτικό χώρο για τις σύγχρονες χρονοσημάνσεις. Ο αρχικός χρόνος Unix χρησιμοποιούσε έναν ακέραιο 32-bit με πρόσημο, μετρώντας δευτερόλεπτα από την εποχή. Αυτό δημιουργεί το "Πρόβλημα του Έτους 2038" (Y2K38): στις 03:14:07 UTC στις 19 Ιανουαρίου 2038, ο μετρητής 32-bit θα υπερχειλίσει και θα γυρίσει σε έναν μεγάλο αρνητικό αριθμό, που πιθανώς αντιπροσωπεύει μια ημερομηνία τον Δεκέμβριο του 1901. Τα περισσότερα σύγχρονα συστήματα έχουν μεταβεί σε χρονοσημάνσεις 64-bit, που δεν θα υπερχειλίσουν για περίπου 292 δισεκατομμύρια χρόνια. Πριν ο χρόνος Unix γίνει το πρότυπο, οι υπολογιστές χρησιμοποιούσαν διάφορες ιδιόκτητες αναπαραστάσεις χρόνου — τα mainframes της IBM μετρούσαν ημέρες από την 1η Ιανουαρίου 1900, ενώ το VMS χρησιμοποιούσε διαστήματα 100 νανοδευτερολέπτων από τις 17 Νοεμβρίου 1858 (η εποχή της Τροποποιημένης Ιουλιανής Ημερομηνίας). Η απλότητα του χρόνου Unix τον έκανε de facto πρότυπο για σχεδόν όλη τη σύγχρονη πληροφορική, από smartphones μέχρι δορυφόρους.

Πώς να Χρησιμοποιήσετε

  1. Εισάγετε μια χρονοσήμανση Unix (δευτερόλεπτα ή χιλιοστά) για μετατροπή σε αναγνώσιμη ημερομηνία, ή επιλέξτε ημερομηνία/ώρα.
  2. Δείτε τη μετατροπή που δείχνει τοπική ώρα, UTC, μορφή ISO 8601 και αναπαραστάσεις σε δευτερόλεπτα και χιλιοστά.
  3. Αντιγράψτε τη χρονοσήμανση ή την αναγνώσιμη ημερομηνία με ένα κλικ. Μοιραστείτε έναν σύνδεσμο για αποσφαλμάτωση ή τεκμηρίωση.

Μεθοδολογία

Ο μετατροπέας χρησιμοποιεί το αντικείμενο Date της JavaScript, το οποίο αποθηκεύει εσωτερικά τον χρόνο ως χιλιοστά του δευτερολέπτου από την Εποχή Unix (1η Ιανουαρίου 1970, 00:00:00 UTC). Για τη μετατροπή χρονοσήμανσης σε ημερομηνία, η είσοδος πολλαπλασιάζεται με 1.000 (αν είναι σε δευτερόλεπτα) για να δημιουργηθεί ένα αντικείμενο Date, στη συνέχεια μορφοποιείται με Intl.DateTimeFormat για εμφάνιση κατάλληλη για τη γλώσσα. Για τη μετατροπή ημερομηνίας σε χρονοσήμανση, τα στοιχεία της ημερομηνίας αναλύονται και κατασκευάζεται ένα αντικείμενο Date, στη συνέχεια η getTime() επιστρέφει τη χρονοσήμανση σε χιλιοστά του δευτερολέπτου, διαιρεμένη με 1.000 για την τυπική μορφή Unix. Το εργαλείο ανιχνεύει αυτόματα αν μια χρονοσήμανση είναι σε δευτερόλεπτα (10 ψηφία, π.χ. 1700000000) ή χιλιοστά του δευτερολέπτου (13 ψηφία, π.χ. 1700000000000). Ο χειρισμός ζωνών ώρας χρησιμοποιεί τη βάση δεδομένων ζωνών ώρας IANA — μπορείτε να δείτε οποιαδήποτε χρονοσήμανση σε UTC ή στην τοπική σας ζώνη ώρας. Οι αρνητικές χρονοσημάνσεις αντιπροσωπεύουν ημερομηνίες πριν την 1η Ιανουαρίου 1970 — για παράδειγμα, -86400 αντιπροσωπεύει την 31η Δεκεμβρίου 1969.

Κατανόηση των Αποτελεσμάτων σας

Η μετατρεπόμενη ημερομηνία δείχνει έτος, μήνα, ημέρα, ώρα, λεπτό, δευτερόλεπτο και την ημέρα της εβδομάδας. Οι ώρες εμφανίζονται τόσο σε UTC όσο και στην τοπική σας ζώνη ώρας για εύκολη σύγκριση. Η διαφορά UTC (π.χ., +05:30 ή -08:00) υποδεικνύει τη διαφορά μεταξύ της εμφανιζόμενης τοπικής ώρας και UTC. Κατά τη μετατροπή ημερομηνιών σε χρονοσημάνσεις, θυμηθείτε ότι η ίδια ημερολογιακή ημερομηνία και ώρα παράγουν διαφορετικές χρονοσημάνσεις ανάλογα με τη ζώνη ώρας — "1 Ιανουαρίου 2024, 00:00:00" στη Νέα Υόρκη (UTC-5) είναι η χρονοσήμανση 1704085200, ενώ η ίδια στιγμή στο Λονδίνο (UTC+0) είναι 1704067200, μια διαφορά 18.000 δευτερολέπτων (5 ώρες). Οι χρονοσημάνσεις σε χιλιοστά του δευτερολέπτου χρησιμοποιούνται συχνά από τη JavaScript (Date.now()), ενώ τα δευτερόλεπτα είναι τυπικά σε συστήματα Unix/Linux, Python και PHP.

Πρακτικά Παραδείγματα

Χρονοσήμανση 0 = 1 Ιανουαρίου 1970, 00:00:00 UTC (η εποχή). Χρονοσήμανση 1000000000 = 9 Σεπτεμβρίου 2001, 01:46:40 UTC. Χρονοσήμανση 1700000000 = 14 Νοεμβρίου 2023, 22:13:20 UTC. Χρονοσήμανση -86400 = 31 Δεκεμβρίου 1969 (μία ημέρα πριν την εποχή). Σε χιλιοστά του δευτερολέπτου: 1700000000000 (13 ψηφία) = ίδιο με 1700000000 δευτερόλεπτα. Η χρονοσήμανση υπερχείλισης του έτους 2038: 2147483647 = 19 Ιανουαρίου 2038, 03:14:07 UTC. Μια χρήσιμη μετατροπή: 1 ώρα = 3.600 δευτερόλεπτα, 1 εβδομάδα = 604.800 δευτερόλεπτα, 1 μήνας ≈ 2.592.000 δευτερόλεπτα (30 ημέρες).

Συμβουλές για Εργασία με Χρονοσημάνσεις Unix

Για γρήγορη εκτίμηση μιας ημερομηνίας από μια χρονοσήμανση, θυμηθείτε ότι μια ημέρα είναι ακριβώς 86.400 δευτερόλεπτα (24 × 60 × 60). Ένας χρόνος είναι περίπου 31.536.000 δευτερόλεπτα (365 ημέρες) ή 31.557.600 για ένα Ιουλιανό έτος (365,25 ημέρες). Η χρονοσήμανση 1.000.000.000 (ένα δισεκατομμύριο) ήταν η 9η Σεπτεμβρίου 2001 — χρησιμοποιήστε την ως νοητικό σημείο αναφοράς. Κατά την αποσφαλμάτωση, ελέγξτε αν η χρονοσήμανση σας είναι σε δευτερόλεπτα ή χιλιοστά του δευτερολέπτου: ένας αριθμός 10 ψηφίων είναι σε δευτερόλεπτα (μέχρι το 2286), ενώ 13 ψηφία σημαίνει χιλιοστά του δευτερολέπτου. Οι αρνητικές χρονοσημάνσεις είναι έγκυρες και αντιπροσωπεύουν ημερομηνίες πριν το 1970. Να είστε προσεκτικοί με χρονοσημάνσεις κοντά σε αλλαγές θερινής ώρας — η ίδια τοπική ώρα μπορεί να αντιστοιχεί σε δύο διαφορετικές χρονοσημάνσεις UTC όταν τα ρολόγια γυρίζουν πίσω. Αποθηκεύετε πάντα τις χρονοσημάνσεις σε UTC και μετατρέπετε σε τοπική ώρα μόνο για εμφάνιση.

Όλοι οι υπολογισμοί γίνονται τοπικά στο πρόγραμμα περιήγησής σας. Δεν αποστέλλονται δεδομένα σε κανέναν διακομιστή.

Ενσωμάτωση εργαλείου

Λήψη κώδικα

Συχνές ερωτήσεις

Τι είναι μια χρονοσήμανση Unix;
Μια χρονοσήμανση Unix είναι ο αριθμός των δευτερολέπτων που έχουν περάσει από την 1η Ιανουαρίου 1970 στις 00:00:00 UTC.
Πώς μετατρέπω μια ημερομηνία σε χρονοσήμανση Unix;
Εισάγετε μια ημερομηνία και ώρα στον επιλογέα ημερομηνίας και ο μετατροπέας θα σας δείξει άμεσα την αντίστοιχη χρονοσήμανση Unix.
Ποια είναι η διαφορά μεταξύ χρονοσημάνσεων σε δευτερόλεπτα και χιλιοστά;
Οι χρονοσημάνσεις Unix είναι παραδοσιακά σε δευτερόλεπτα (10 ψηφία). Ωστόσο, πολλά σύγχρονα συστήματα χρησιμοποιούν χιλιοστά του δευτερολέπτου (13 ψηφία).
Γιατί οι προγραμματιστές χρησιμοποιούν χρονοσημάνσεις Unix;
Οι χρονοσημάνσεις Unix είναι ανεξάρτητες ζώνης ώρας, κάνοντάς τες ιδανικές για αποθήκευση ημερομηνιών σε βάσεις δεδομένων και APIs.
Τι είναι το πρόβλημα του έτους 2038;
Το πρόβλημα του έτους 2038 συμβαίνει επειδή πολλά παλαιότερα συστήματα αποθηκεύουν χρονοσημάνσεις Unix ως 32-bit ακέραιους με πρόσημο, που μπορούν να αναπαραστήσουν ημερομηνίες μόνο μέχρι τις 19 Ιανουαρίου 2038. Τα σύγχρονα συστήματα χρησιμοποιούν 64-bit ακέραιους.
Σε ποια ζώνη ώρας είναι οι χρονοσημάνσεις Unix;
Οι χρονοσημάνσεις Unix είναι πάντα σε UTC (Συντονισμένη Παγκόσμια Ώρα), γνωστό και ως GMT. Αντιπροσωπεύουν την ίδια στιγμή ανεξάρτητα από την τοποθεσία σας. Αυτός ο μετατροπέας εμφανίζει το αποτέλεσμα στην τοπική σας ζώνη ώρας για ευκολία.
Πώς μπορώ να λάβω την τρέχουσα χρονοσήμανση Unix;
Η τρέχουσα χρονοσήμανση Unix εμφανίζεται στο πάνω μέρος αυτού του εργαλείου και ενημερώνεται κάθε δευτερόλεπτο. Μπορείτε επίσης να τη λάβετε προγραμματιστικά: σε JavaScript χρησιμοποιήστε Date.now() για χιλιοστά του δευτερολέπτου.
Μπορούν οι χρονοσημάνσεις Unix να είναι αρνητικές;
Ναι, οι αρνητικές χρονοσημάνσεις Unix αντιπροσωπεύουν ημερομηνίες πριν από την 1η Ιανουαρίου 1970 (η εποχή Unix). Για παράδειγμα, -86400 αντιπροσωπεύει την 31η Δεκεμβρίου 1969. Αυτός ο μετατροπέας υποστηρίζει αρνητικές χρονοσημάνσεις για ιστορικές μετατροπές.
Πώς μετατρέπω πολλαπλές χρονοσημάνσεις ταυτόχρονα;
Χρησιμοποιήστε την καρτέλα Ομαδική για μετατροπή πολλαπλών χρονοσημάνσεων ταυτόχρονα. Επικολλήστε τις χρονοσημάνσεις σας μία ανά γραμμή στην περιοχή κειμένου και κάντε κλικ στο "Μετατροπή όλων". Το εργαλείο θα επεξεργαστεί κάθε χρονοσήμανση, θα ανιχνεύσει αυτόματα την ακρίβεια και θα εμφανίσει τα αποτελέσματα σε πίνακα.
Πώς λαμβάνω την τρέχουσα χρονοσήμανση Unix σε διάφορες γλώσσες προγραμματισμού;
Η καρτέλα Αποσπάσματα κώδικα παρέχει έτοιμο κώδικα για 15 γλώσσες προγραμματισμού, συμπεριλαμβανομένων JavaScript, Python, PHP, Java, C#, Go, Rust, Ruby, Swift, Kotlin, Bash, C/C++, Perl, R και SQL. Κάθε γλώσσα περιλαμβάνει αποσπάσματα για λήψη τρέχουσας χρονοσήμανσης, μετατροπή χρονοσήμανσης σε ημερομηνία και αντίστροφα.
Ποια είναι η διαφορά μεταξύ χρόνου Unix και UTC;
Το UTC (Συντονισμένη Παγκόσμια Ώρα) είναι ένα πρότυπο χρόνου που χωρίζει τον χρόνο σε χρόνια, μήνες, ημέρες, ώρες, λεπτά και δευτερόλεπτα. Ο χρόνος Unix είναι ένας μόνο αριθμός που αντιπροσωπεύει τα δευτερόλεπτα που έχουν περάσει από την εποχή (1 Ιανουαρίου 1970, 00:00:00 UTC). Ενώ το UTC μπορεί να περιλαμβάνει δευτερόλεπτα αλτών, ο χρόνος Unix δεν τα μετράει — κάθε μέρα Unix είναι ακριβώς 86.400 δευτερόλεπτα.
Τι είναι οι χρονοσημάνσεις σε μικρόδευτερόλεπτά και νανοδευτερόλεπτά;
Πέρα από τα δευτερόλεπτα (10 ψηφία) και τα χιλιοστά (13 ψηφία), ορισμένα συστήματα χρησιμοποιούν χρονοσημάνσεις μικρόδευτερολέπτων (16 ψηφία) ή νανοδευτερολέπτων (19 ψηφία) για μεγαλύτερη ακρίβεια. Τα μικρόδευτερόλεπτά χρησιμοποιούνται στο trading υψηλής συχνότητας και την επιστημονική υπολογιστική. Τα νανοδευτερόλεπτά εμφανίζονται στο time.UnixNano() του Go, το InfluxDB και τη χρονομέτρηση hardware.