Μετατροπέας Unix timestamp
Μετατρέψτε Unix timestamp σε δευτερόλεπτα ή χιλιοστά σε ευανάγνωστες ημερομηνίες (τοπική ώρα, UTC, ISO 8601) και μετατρέψτε κάθε ημερομηνία ξανά σε epoch.
Χρονική σήμανση → ημερομηνία
- Τοπική ώρα
- –
- UTC
- –
- ISO 8601
- –
Ημερομηνία → χρονική σήμανση
- Δευτερόλεπτα
- –
- Χιλιοστά του δευτερολέπτου
- –
Πώς να χρησιμοποιήσετε τον μετατροπέα Unix timestamp
- Για να μετατρέψετε μια χρονική σήμανση σε ημερομηνία, επικολλήστε μια τιμή epoch όπως
1700000000ή1700000000000. Το εργαλείο εντοπίζει από το μέγεθός της αν είναι σε δευτερόλεπτα ή σε χιλιοστά του δευτερολέπτου. - Διαβάστε το αποτέλεσμα στην τοπική ζώνη ώρας σας, σε UTC και σε μορφή ISO 8601.
- Για την αντίστροφη διαδρομή, εισαγάγετε μια ημερομηνία και ώρα· το εργαλείο επιστρέφει την αντίστοιχη τιμή epoch τόσο σε δευτερόλεπτα όσο και σε χιλιοστά του δευτερολέπτου.
- Ρίξτε μια ματιά στην τρέχουσα χρονική σήμανση στην κορυφή, που ενημερώνεται ζωντανά, όποτε χρειάζεστε το «τώρα» ως τιμή epoch.
Τι είναι το Unix timestamp;
Το Unix timestamp, που λέγεται και ώρα epoch ή ώρα POSIX, είναι ο αριθμός των δευτερολέπτων που έχουν περάσει από την εποχή Unix: 1 Ιανουαρίου 1970, 00:00:00 UTC. Για παράδειγμα, το 1700000000 αντιστοιχεί στις 14 Νοεμβρίου 2023, 22:13:20 UTC. Οι ημερομηνίες πριν από το 1970 παριστάνονται με αρνητικούς αριθμούς.
Οι χρονικές σημάνσεις είναι δημοφιλείς στους προγραμματιστές επειδή είναι ένας μοναδικός αριθμός που δεν εξαρτάται από ζώνες ώρας, θερινή ώρα ή μορφές ημερομηνίας. Η σύγκριση δύο χρονικών στιγμών είναι μια απλή αφαίρεση και η ταξινόμηση με βάση τον χρόνο είναι μια απλή αριθμητική ταξινόμηση. Θα τις βρείτε σε βάσεις δεδομένων, αρχεία καταγραφής, αποκρίσεις API, πεδία JWT όπως τα exp και iat, μεταδεδομένα αρχείων και χρονοπρογραμματιστές τύπου cron.
Σημειώστε ότι ο χρόνος Unix αγνοεί τα δίσεκτα δευτερόλεπτα: κάθε ημέρα μετράει ακριβώς 86.400 δευτερόλεπτα. Αυτό κρατά την αριθμητική απλή και εξηγεί γιατί μια χρονική σήμανση δεν είναι αυστηρή καταμέτρηση όλων των φυσικών δευτερολέπτων από το 1970.
Δευτερόλεπτα ή χιλιοστά του δευτερολέπτου
Η πιο συχνή πηγή σύγχυσης είναι η μονάδα. Τα παραδοσιακά συστήματα Unix, η PHP, η time.time() της Python και οι περισσότερες βάσεις δεδομένων χρησιμοποιούν δευτερόλεπτα, που σήμερα δίνουν αριθμό 10 ψηφίων. Η Date.now() της JavaScript, η System.currentTimeMillis() της Java και πολλά API JSON χρησιμοποιούν χιλιοστά του δευτερολέπτου, που δίνουν αριθμό 13 ψηφίων. Αν ερμηνεύσετε χιλιοστά ως δευτερόλεπτα, θα βρεθείτε δεκάδες χιλιάδες χρόνια στο μέλλον· αν ερμηνεύσετε δευτερόλεπτα ως χιλιοστά, θα βρεθείτε τον Ιανουάριο του 1970. Το εργαλείο κοιτάζει το μέγεθος του αριθμού για να διαλέξει αυτόματα τη σωστή μονάδα και, όταν μετατρέπετε μια ημερομηνία, δείχνει και τις δύο τιμές ώστε να αντιγράψετε αυτήν που περιμένει το σύστημά σας.
Τοπική ώρα, UTC και ISO 8601
Μια χρονική σήμανση προσδιορίζει μία ακριβή χρονική στιγμή, αλλά αυτή η στιγμή εμφανίζεται διαφορετικά ανάλογα με τη ζώνη ώρας. Το τοπικό αποτέλεσμα χρησιμοποιεί τη ζώνη ώρας που έχει ρυθμιστεί στη συσκευή σας, ενώ το UTC είναι η καθολική αναφορά που χρησιμοποιούν διακομιστές και αρχεία καταγραφής. Το ISO 8601, όπως το 2023-11-14T22:13:20.000Z, είναι η αδιαμφισβήτητη μορφή κειμένου που συνιστάται για την ανταλλαγή ημερομηνιών μεταξύ συστημάτων· το τελικό Z σημαίνει UTC.
Το πρόβλημα του έτους 2038
Πολλά παλαιότερα συστήματα αποθηκεύουν τον χρόνο Unix ως προσημασμένο ακέραιο 32 bit, με μέγιστη τιμή 2.147.483.647. Το όριο αυτό επιτυγχάνεται στις 19 Ιανουαρίου 2038, 03:14:07 UTC. Ένα δευτερόλεπτο αργότερα, ένας τέτοιος μετρητής υπερχειλίζει σε έναν μεγάλο αρνητικό αριθμό και διαβάζεται ως ημερομηνία του Δεκεμβρίου 1901. Τα σύγχρονα λειτουργικά συστήματα, οι βάσεις δεδομένων και οι γλώσσες έχουν σε μεγάλο βαθμό περάσει σε τιμές χρόνου 64 bit, που μεταθέτουν το όριο δισεκατομμύρια χρόνια στο μέλλον, αλλά οι ενσωματωμένες συσκευές, οι παλιές μορφές αρχείων και οι παλιές στήλες βάσεων δεδομένων μπορεί να επηρεάζονται ακόμη. Η ίδια η JavaScript δεν επηρεάζεται, επειδή αποθηκεύει τον χρόνο ως χιλιοστά του δευτερολέπτου σε αριθμό κινητής υποδιαστολής 64 bit.
Απόρρητο
Όλες οι μετατροπές γίνονται στο πρόγραμμα περιήγησής σας με τις ενσωματωμένες συναρτήσεις ημερομηνίας του. Καμία χρονική σήμανση ή ημερομηνία δεν στέλνεται σε διακομιστή.
Συχνές ερωτήσεις
Πώς θα καταλάβω αν η χρονική σήμανσή μου είναι σε δευτερόλεπτα ή σε χιλιοστά;
Μετρήστε τα ψηφία. Μια τρέχουσα ημερομηνία έχει 10 ψηφία σε δευτερόλεπτα και 13 ψηφία σε χιλιοστά. Το εργαλείο εφαρμόζει την ίδια λογική αυτόματα, με βάση το μέγεθος του αριθμού.
Γιατί η τοπική ώρα διαφέρει από το UTC;
Και οι δύο περιγράφουν την ίδια χρονική στιγμή. Η τοπική ώρα εφαρμόζει τη μετατόπιση της ζώνης ώρας της συσκευής σας και τους κανόνες θερινής ώρας, ενώ το UTC δεν έχει μετατόπιση. Αν μοιράζεστε μια ώρα με ανθρώπους αλλού, το UTC ή το ISO 8601 αποφεύγει τις παρεξηγήσεις.
Μπορεί ένα Unix timestamp να είναι αρνητικό;
Ναι. Οι αρνητικές τιμές παριστάνουν στιγμές πριν από την 1η Ιανουαρίου 1970 UTC. Για παράδειγμα, το -86400 είναι 31 Δεκεμβρίου 1969, 00:00:00 UTC.
Περιέχει ένα Unix timestamp ζώνη ώρας;
Όχι. Μια χρονική σήμανση είναι πάντα σχετική με το UTC και δεν φέρει πληροφορία ζώνης ώρας. Η ζώνη ώρας μετράει μόνο όταν την εμφανίζετε ως ημερομηνία και ώρα ημερολογίου.
Θα χαλάσουν τα συστήματά μου το 2038;
Μόνο αν αποθηκεύουν τον χρόνο σε προσημασμένο ακέραιο 32 bit. Ελέγξτε παλαιότερες βάσεις δεδομένων, ενσωματωμένο υλικολογισμικό και δυαδικές μορφές αρχείων. Ό,τι χρησιμοποιεί χρόνο 64 bit είναι ασφαλές για το ορατό μέλλον.
Σχετικά εργαλεία
- Γεννήτρια UUID Δωρεάν γεννήτρια UUID εκδόσεων 4 και 7. Δημιουργήστε έως 1.000 ταυτόχρονα, με κεφαλαία ή χωρίς παύλες, και αντιγράψτε ή κατεβάστε τα ως .txt.
- Μορφοποίηση και επικύρωση JSON Δωρεάν μορφοποίηση και επικύρωση JSON που κάνει beautify, minify και έλεγχο του JSON στο πρόγραμμα περιήγησής σας, με συντακτικά σφάλματα ανά γραμμή και στήλη.