Μετατροπέας Unix Timestamp

Ο μετατροπέας Unix timestamp μεταφράζει timestamps epoch σε αναγνώσιμες ημερομηνίες και το αντίστροφο σε πραγματικό χρόνο. Δείτε το τρέχον Unix timestamp με ζωντανό ρολόι, μετατρέψτε οποιοδήποτε timestamp σε μορφοποιημένη ημερομηνία ή επιλέξτε μια ημερομηνία για να πάρετε το Unix timestamp της. Υποστηρίζει δευτερόλεπτα (10 ψηφία) και χιλιοστά του δευτερολέπτου (13 ψηφία), προβολή UTC και τοπικής ζώνης ώρας, καθώς και πολλαπλές μορφές ημερομηνίας (ISO 8601, RFC 2822, αναγνώσιμη από άνθρωπο). Όλη η επεξεργασία γίνεται στο πρόγραμμα περιήγησής σας.

star 4.9
auto_awesome AI
New

Μετατροπέας Timestamp calculator

Current Unix Timestamp

schedule Timestamp → Date

event Date → Timestamp

lightbulb Tips

  • 10 digits = seconds, 13 digits = milliseconds
  • Epoch = Jan 1, 1970 00:00:00 UTC
  • Always store timestamps in UTC
  • Y2038 problem: 32-bit overflow Jan 19, 2038

How to Use the Μετατροπέας Timestamp

schedule

Προβολή Τρέχουσας Ώρας

Δείτε το τρέχον Unix timestamp με ένα ρολόι ζωντανής ενημέρωσης.

event

Timestamp → Ημερομηνία

Επικολλήστε ένα Unix timestamp για να δείτε την αντίστοιχη ημερομηνία και ώρα.

pin

Ημερομηνία → Timestamp

Επιλέξτε ημερομηνία και ώρα για να λάβετε το Unix timestamp τους.

content_copy

Αντιγραφή αποτελέσματος

Αντιγραφή οποιασδήποτε μορφής (δευτερόλεπτα, χιλιοστά του δευτερολέπτου, ISO, RFC) με ένα κλικ.

The Formula

Ο χρόνος Unix (αποκαλούμενος και χρόνος epoch ή χρόνος POSIX) μετράει τον αριθμό των δευτερολέπτων που έχουν περάσει από την 1η Ιανουαρίου 1970 στις 00:00:00 UTC. Αυτή η ημερομηνία ονομάζεται Unix epoch. Τα timestamps μπορούν να είναι σε δευτερόλεπτα (10 ψηφία) ή σε χιλιοστά του δευτερολέπτου (13 ψηφία). Τα αρνητικά timestamps αντιπροσωπεύουν ημερομηνίες πριν από το 1970.

Unix Timestamp = seconds elapsed since January 1, 1970 00:00:00 UTC (epoch)

lightbulb Variables Explained

  • Epoch 1 Ιανουαρίου 1970 00:00:00 UTC — η αφετηρία του χρόνου Unix
  • Seconds (s) Timestamp 10 ψηφίων (π.χ., 1700000000)
  • Milliseconds (ms) Timestamp 13 ψηφίων (π.χ., 1700000000000)
  • UTC Συντονισμένη Παγκόσμια Ώρα — η ζώνη ώρας αναφοράς

tips_and_updates Pro Tips

1

Τα timestamps 10 ψηφίων είναι σε δευτερόλεπτα, τα 13 ψηφίων σε χιλιοστά του δευτερολέπτου — το εργαλείο μας τα ανιχνεύει αυτόματα

2

Το Unix epoch είναι η 1η Ιανουαρίου 1970 00:00:00 UTC — timestamp 0

3

Το Date.now() της JavaScript επιστρέφει χιλιοστά του δευτερολέπτου, το time.time() της Python επιστρέφει δευτερόλεπτα

4

Το πρόβλημα του έτους 2038: Οι προσημασμένοι ακέραιοι 32-bit υπερχειλίζουν στις 19 Ιανουαρίου 2038 και ώρα 03:14:07 UTC

5

Τα αρνητικά timestamps αντιπροσωπείζουν ημερομηνίες πριν το 1970 (π.χ., -86400 = 31 Δεκεμβρίου 1969)

6

Αποθηκεύετε πάντα τα timestamps σε UTC και μετατρέψτε τα σε τοπική ώρα για προβολή

7

Η μορφή ISO 8601 (2024-01-15T10:30:00Z) είναι το διεθνές πρότυπο για την ανταλλαγή ημερομηνιών

Ο δωρεάν διαδικτυακός μας μετατροπέας Unix timestamp μετατρέπει άμεσα τον χρόνο epoch σε αναγνώσιμες από τον άνθρωπο ημερομηνίες και το αντίστροφο. Διαθέτει ζωντανό ρολόι, υποστηρίζει δευτερόλεπτα και χιλιοστά του δευτερολέπτου, καθώς και UTC και τοπική ώρα. Ένα απαραίτητο εργαλείο προγραμματιστή.

Μετατροπέας Unix Timestamp σε Ημερομηνία

Μετατρέψτε οποιοδήποτε Unix timestamp σε αναγνώσιμη ημερομηνία και ώρα.

Ο μετατροπέας μας:

  • ανιχνεύει αυτόματα δευτερόλεπτα (10 ψηφία) και χιλιοστά του δευτερολέπτου (13 ψηφία)
  • εμφανίζει την ώρα UTC και την τοπική ώρα
  • προβάλλει πολλαπλές μορφές, συμπεριλαμβανομένων των ISO 8601 και RFC 2822

Μετατροπέας Ημερομηνίας σε Unix Timestamp

Μετατρέψτε οποιαδήποτε ημερομηνία και ώρα στο Unix timestamp της.

Επιλέξτε ημερομηνία, επιλέξτε τη ζώνη ώρας σας και λάβετε τον χρόνο epoch σε δευτερόλεπτα και χιλιοστά του δευτερολέπτου.

Ιδανικό για:

  • ανάπτυξη API
  • ερωτήματα βάσεων δεδομένων
  • εντοπισμό σφαλμάτων (debugging) που σχετίζονται με τον χρόνο

Τι Είναι ο Χρόνος Unix και Πώς Λειτουργεί το Epoch;

Ο χρόνος Unix είναι ένα σύστημα παρακολούθησης μιας χρονικής στιγμής ως ο αριθμός των δευτερόλεπτων που έχουν περάσει από το Unix epoch, το οποίο ορίζεται ως 00:00:00 UTC την 1η Ιανουαρίου 1970. Το IEEE και η The Open Group το κωδικοποιούν στο πρότυπο POSIX (IEEE Std 1003.1), όπου ονομάζεται επίσημα "Δευτερόλεπτα από το Epoch (Seconds Since the Epoch)".

Μια βασική λεπτομέρεια που τεκμηριώνεται από το POSIX είναι ότι ο χρόνος Unix αγνοεί σκόπιμα τα εμβόλιμα δευτερόλεπτα (leap seconds), οπότε κάθε μέρα αντιμετωπίζεται ακριβώς ως 86.400 δευτερόλεπτα. Επειδή η τιμή είναι ένας ενιαίος ακέραιος αριθμός ανεξάρτητος από ζώνες ώρας, είναι απαλλαγμένη από αμφισημίες σε όλα τα συστήματα.

Η αποθήκευση του χρόνου ως ακέραιου αριθμού, όπως σημειώνουν τα MDN Web Docs για το αντικείμενο Date της JavaScript, καθιστά τους υπολογισμούς και τις συγκρίσεις πολύ απλούστερους σε σύγκριση με την ανάλυση μορφοποιημένων αλφαριθμητικών ημερομηνίας.

Δευτερόλεπτα έναντι Χιλιοστών του Δευτερολέπτου: Γιατί Διαφέρουν τα Μήκη των Timestamps

Ένα Unix timestamp 10 ψηφίων μετράει δευτερόλεπτα από το epoch, ενώ ένα timestamp 13 ψηφίων μετράει χιλιοστά του δευτερολέπτου, και η ανάμειξή τους είναι το πιο συνηθισμένο σφάλμα μετατροπής.

Σύμφωνα με τα MDN Web Docs, οι συναρτήσεις Date.now() και getTime() της JavaScript επιστρέφουν χιλιοστά του δευτερολέπτου, οπότε το 1700000000000 είναι μια έγκυρη τιμή JS. Αντίθετα, οι συναρτήσεις C του POSIX όπως η time(), η συνάρτηση time.time() της Python με περικοπή, καθώς και οι περισσότερες βάσεις δεδομένων SQL και η εντολή date +%s της Bash, λειτουργούν σε δευτερόλεπτα (1700000000).

Για να κάνετε μετατροπή μεταξύ τους, πολλαπλασιάστε τα δευτερόλεπτα με 1.000 ή διαιρέστε τα χιλιοστά του δευτερολέπτου με 1.000.

Ο μετατροπέας μας ανιχνεύει αυτόματα τη μονάδα μέτρησης με βάση το πλήθος των ψηφίων, αλλά κατά τη συγγραφή κώδικα θα πρέπει πάντα να επιβεβαιώσετε ποια μονάδα αναμένει η γλώσσα ή το API σας για να αποφύγετε ημερομηνίες που καταλήγουν στο 1970 ή χιλιάδες χρόνια στο μέλλον.

Πώς να Λάβετε το Τρέχον Unix Timestamp σε Οποιαδήποτε Γλώσσα

Μπορείτε να δημιουργήσετε το τρέχον Unix timestamp με μία μόνο κλήση σε σχεδόν κάθε γλώσσα προγραμματισμού.

  • Στη JavaScript, τα MDN Web Docs προτείνουν τη Math.floor(Date.now() / 1000) για δευτερόλεπτα ή τη Date.now() για χιλιοστά του δευτερολέπτου.
  • Στην Python, η συνάρτηση time.time() επιστρέφει έναν αριθμό κινητής υποδιαστολής (float) σε δευτερόλεπτα από το epoch, ταιριάζοντας με τη συνάρτηση time() της βιβλιοθήκης C που ορίζεται από το POSIX.
  • Στη γραμμή εντολών (command line), η εντολή date +%s των GNU coreutils εκτυπώνει το τρέχον timestamp ακρίβειας δευτερολέπτου, ενώ η PHP χρησιμοποιεί τη time() και η Go τη time.Now().Unix().
  • Οι μηχανές SQL παρέχουν συναρτήσεις όπως η UNIX_TIMESTAMP() στη MySQL και η EXTRACT(EPOCH FROM now()) στην PostgreSQL.

Όλες αυτές αναφέρονται στην ίδια αφετηρία 1970 UTC, επομένως οι τιμές είναι άμεσα εναλλακτικές μεταξύ τους μόλις κανονικοποιήσετε τη μονάδα δευτερολέπτων έναντι χιλιοστών του δευτερολέπτου.

ISO 8601 έναντι Unix Timestamp: Ποια Μορφή Πρέπει να Χρησιμοποιήσετε;

Χρησιμοποιήστε ένα Unix timestamp για αποθήκευση και υπολογισμούς, και ISO 8601 για ανταλλαγή αναγνώσιμη από τον άνθρωπο και αρχεία καταγραφής (logs).

Το πρότυπο ISO 8601 είναι το διεθνές πρότυπο για την αναπαράσταση ημερομηνιών και ωρών ως αλφαριθμητικών όπως το 2023-11-14T22:13:20Z, όπου το κεφαλαίο T διαχωρίζει την ημερομηνία από την ώρα και το τελικό Z δηλώνει την ώρα UTC (ώρα Ζουλού). Αυτά τα γράμματα διακρίνονται μεταξύ πεζών-κεφαλαίων, οπότε αν τακτοποιείτε αλφαριθμητικά που αντιγράφηκαν από πηγές με μικτά πεζά-κεφαλαία, ένα γρήγορο πέρασμα από έναν μετατροπέα πεζών-κεφαλαίων τα διατηρεί αναλύσιμα. Το πρότυπο RFC 3339 του IETF διαμορφώνει το ISO 8601 για χρήση στο Διαδίκτυο και είναι αυτό που υιοθετούν τα περισσότερα API JSON για πεδία ημερομηνίας, δεδομένου ότι η ίδια η JSON (RFC 8259) δεν διαθέτει εγγενή τύπο ημερομηνίας.

Ένας ακέραιος αριθμός Unix είναι πιο συμπαγής και ουδέτερος ως προς το τοπικό (locale), αλλά όχι αυτοπεριγραφικός, ενώ ένα αλφαριθμητικό ISO 8601 είναι άμεσα ευανάγνωστο. Πλλά συστήματα αποθηκεύουν τον ακέραιο αριθμό εσωτερικά και τον μετατρέπουν σε ISO 8601 στα όρια του API για να αποκομίσουν τα οφέλη και των δύο.

Ζώνες Ώρας, UTC και Γιατί τα Timestamps Είναι Ανεξάρτητα από Ζώνες Ώρας

Ένα Unix timestamp δεν έχει ζώνη ώρας επειδή αναφέρεται πάντα σε μια ενιαία χρονική στιγμή μετρημένη από το epoch σε UTC. Οι ζώνες ώρας έχουν σημασία μόνο όταν αποδίδετε αυτή τη χρονική στιγμή ως ημερομηνία ρολογιού για έναν χρήστη.

Η Βάση Δεδομένων Ζωνών Ώρας IANA (η βάση δεδομένων tz) είναι η έγκυρη πηγή που χρησιμοποιούν τα λειτουργικά συστήματα και οι γλώσσες για να αντιστοιχίσουν μια χρονική στιγμή στην τοπική ώρα, συμπεριλαμβανομένων των ιστορικών κανόνων θερινής ώρας.

Η βέλτιστη πρακτική, η οποία επαναλαμβάνεται από τα MDN Web Docs και αμέτρητους οδηγούς μηχανικής, είναι να αποθηκεύετε και να μεταδίδετε τα timestamps σε UTC και να τα μετατρέπετε στην τοπική ζώνη του θεατή μόνο κατά τον χρόνο προβολής. Αυτό εξαλείφει την αμφισημίες γύρω από τις μεταβάσεις θερινής ώρας και καθιστά τις συγκρίσεις μεταξύ περιοχών αξιόπιστες και αναπαραγώγιμες.

Εξήγηση του Προβλήματος του Έτους 2038

Το πρόβλημα του έτους 2038 είναι το χρονικό σημείο κατά το οποίο οι προσημασμένοι ακέραιοι 32-bit που αποθηκεύουν τον χρόνο Unix θα υπερχειλίσουν, κάτι που θα συμβεί στις 03:14:07 UTC στις 19 Ιανουαρίου 2038.

Μια προσημασμένη τιμή 32-bit φτάνει έως τα 2.147.483.647 δευτερόλεπτα· ένα δευτερόλεπτο αργότερα μετατρέπεται σε έναν μεγάλο αρνητικό αριθμό, τον οποίο ο απλοϊκός κώδικας ερμηνεύει ως Δεκέμβριο του 1901. Αυτό αντικατοπτρίζει την ιστορική ανησυχία γύρω από το πρόβλημα του έτους 2000, αλλά βασίζεται στο σταθερό πλάτος του τύπου time_t της C σε παλαιότερες πλατφόρμες.

Τα σύγχρονα λειτουργικά συστήματα και οι γλώσσες έχουν μεταναστεύσει σε μεγάλο βαθμό στο time_t 64-bit, το οποίο μεταθέτει την υπερχείληση περίπου 292 δισεκατομμύρια χρόνια στο μέλλον. Τα ενσωματωμένα συστήματα και οι παλιές μορφές αρχείων παραμένουν οι βασικές περιοχές κινδύνου που οι προγραμματιστές πρέπει να ελέγχουν.

Πρακτικές Χρήσεις των Χρονοσφραγίδων Unix στην Ανάπτυξη

Οι χρονοσφραγίδες Unix είναι η ραχοκοκαλιά της διαχείρισης χρόνου σε συστήματα backend, αρχεία καταγραφής και API, επειδή ταξινομούνται, υπολογίζουν διαφορές και συγκρίνονται ως απλοί ακέραιοι.

Οι βάσεις δεδομένων αποθηκεύουν τις στήλες created_at και updated_at ως τιμές epoch ή τύπους χρονοσφραγίδας που προέρχονται από αυτές, και τα επίπεδα προσωρινής μνήμης χρησιμοποιούν χρονοσφραγίδες λήξης για την ακύρωση καταχωρήσεων. Τα διακριτικά ασφαλείας βασίζονται επίσης σε αυτές: το πρότυπο JWT, RFC 7519, ορίζει τους ισχυρισμούς exp (λήξη) και iat (έκδοση) ως τιμές NumericDate, οι οποίες είναι κυριολεκτικά δευτερόλεπτα από την εποχή Unix.

Τα κατανμημένα αρχεία καταγραφής και οι ροές συμβάντων χρησιμοποιούν χρονοσφραγίδες για τη θέσπιση σειράς, και τα εργαλεία περιορισμού ρυθμού συγκρίνουν την τρέχουσα εποχή με αποθηκευμένα παράθυρα. Η φύση τους, που είναι ανεξάρτητη από τη γλώσσα, τα καθιστά ιδανικά για τη μεταφορά χρόνου πέρα από τα όρια των υπηρεσιών.

Αρνητικές Χρονοσφραγίδες και Ημερομηνίες Πριν από το 1970

Οι αρνητικές χρονοσφραγίδες Unix αντιπροσωπεύουν στιγμές πριν από την εποχή, επομένως το -86400 αντιστοιχεί στην 31η Δεκεμβρίου 1969 στις 00:00:00 UTC. Ο ορισμός POSIX επιτρέπει στον αριθμό των δευτερολέπτων να είναι αρνητικός και γλώσσες όπως η JavaScript το τιμούν αυτό: το MDN Web Docs τεκμηριώνει ότι το αντικείμενο Date δέχεται αρνητικές τιμές χιλιοστών του δευτερολέπτου για να εκφράσει ημερομηνίες πριν από το 1970.

Αυτό είναι χρήσιμο για ιστορικά δεδομένα, ημερομηνίες γέννησης ή αρχειακά δεδομένα.

Προσοχή, ωστόσο, καθώς ορισμένα παλαιότερα συστήματα, βάσεις δεδομένων και εργαλεία 32-bit αντιμετωπίζουν τον χρόνο Unix ως μη προσημασμένο ή απορρίπτουν την αρνητική είσοδο, περιορίζοντας σιωπηρά την τιμή στην εποχή ή εμφανίζοντας κάποιο σφάλμα. Κατά τον χειρισμό ιστορικών ημερομηνιών, επαληθεύστε ότι κάθε επίπεδο της στοίβας σας, από τον τύπο στήλης της βάσης δεδομένων έως τη βιβλιοθήκη πελάτη, υποστηρίζει προσημασμένες χρονοσφραγίδες.

Συνήθη Λάθη Κατά τη Μετατροπή Χρονοσφραγίδων Unix

  • Το πιο συχνό λάθος είναι η σύγχυση δευτερολέπτων με χιλιοστά του δευτερολέπτου, η οποία παράγει ημερομηνίες που απέχουν δεκαετίες ή κολλάνε στο 1970. Επιβεβαιώστε πάντα τη μονάδα που χρησιμοποιεί η πηγή σας πριν κάνετε μετατροπή, δεδομένου ότι η JavaScript εκπέμπει χιλιοστά του δευτερολέπτου ενώ τα περισσότερα backend εκπέμπουν δευτερόλεπτα.
  • Μια δεύτερη παγίδα είναι η υπόθεση ότι μια χρονοσφραγίδα φέρει ζώνη ώρας· δεν φέρει, επομένως η εφαρμογή μιας τοπικής μετατόπισης δύο φορές αποφέρει λανθασμένες ώρες ρολογιού.
  • Άλλα περιλαμβάνουν την αγνόηση του ορίου του έτους 2038 σε πεδία 32-bit, και την προσδοκία ότι ο χρόνος Unix θα λάβει υπόψη τα εμβόλιμα δευτερόλεπτα, τα οποία το POSIX αποκλείει ρητά.
  • Τέλος, αποφύγετε την ανάλυση μορφοποιημένων συμβολοσειρών ημερομηνίας με το χέρι· χρησιμοποιήστε τυπικές βιβλιοθήκες και προτιμήστε το ISO 8601 (RFC 3339) για ανταλλαγή, όπως συμβουλεύει το MDN Web Docs, για να παρακάμψετε διφορούμενες μορφές όπως ΜΜ/ΗΗ έναντι ΗΗ/ΜΜ.

Frequently Asked Questions

sell

Tags