Tech Help
Unix Timestamp σε ημερομηνία: δευτερόλεπτα, χιλιοστά και UTC εξηγημένα
Μετατρέψτε ένα Unix timestamp σε ημερομηνία. Δείτε δευτερόλεπτα έναντι χιλιοστών, UTC έναντι τοπικής ώρας, ISO 8601 και πώς επιστρέφετε από ημερομηνία σε χρόνο epoch.
Ένα Unix timestamp εκφράζει τον χρόνο ως προς το Unix epoch: 1970-01-01 00:00:00 UTC. Συνήθως αποθηκεύεται ως δευτερόλεπτα από το epoch ή ως χιλιοστά του δευτερολέπτου από το epoch.
Για σωστή μετατροπή πρέπει πρώτα να γνωρίζετε τη μονάδα. 1720000000 δευτερόλεπτα είναι 2024-07-03 09:46:40 UTC. 1720000000000 χιλιοστά είναι η ίδια στιγμή.
Το timestamp προσδιορίζει μια στιγμή. Το UTC, η τοπική ώρα ή μια ζώνη IANA αλλάζουν μόνο πώς εμφανίζεται αυτή η στιγμή.
Αυτός είναι οδηγός μετατροπής: timestamp σε ημερομηνία, ημερομηνία σε timestamp, UTC έναντι τοπικής, και ISO 8601. Αν μια τιμή γίνει απροσδόκητα ημερομηνία του 1970, συνήθως είναι αναντιστοιχία δευτερολέπτων/χιλιοστών—δείτε Unix Timestamp σε δευτερόλεπτα vs χιλιοστά: γιατί η ημερομηνία δείχνει 1970.
Τι είναι το Unix Timestamp;
Unix timestamp, Unix time και epoch time συνήθως σημαίνουν τον χρόνο που πέρασε από τις 1970-01-01 00:00:00 UTC. Ο αριθμός δεν είναι μορφοποιημένη συμβολοσειρά ημερομηνίας με ετικέτα ζώνης ώρας. Η ίδια στιγμή μπορεί να εμφανιστεί με διαφορετικές ώρες σε UTC, Νέα Υόρκη, Τόκιο ή Σεούλ. Τα Unix timestamps δεν είναι πάντα δευτερόλεπτα—τα χιλιοστά είναι συχνά στην πράξη.
Τι είναι το Unix Epoch;
Το Unix epoch είναι 1970-01-01 00:00:00 UTC. Το timestamp 0 είναι εκείνη η στιγμή. Θετικό timestamp είναι μετά το epoch. Ορισμένα συστήματα επιτρέπουν αρνητικό timestamp για χρόνο πριν από το epoch, αλλά η υποστήριξη γλώσσας και εύρους ημερομηνιών διαφέρει.
Το timestamp μου είναι σε δευτερόλεπτα ή σε χιλιοστά;
Το 1720000000 είναι δευτερόλεπτα· το 1720000000000 είναι χιλιοστά· είναι η ίδια στιγμή. Πρακτική ένδειξη: περίπου 10 ψηφία συχνά σημαίνουν δευτερόλεπτα, περίπου 13 συχνά χιλιοστά. Το πλήθος ψηφίων είναι μόνο ευρετικός κανόνας. Παρελθούσες ή μελλοντικές ημερομηνίες, άλλες μονάδες ή προσαρμοσμένο epoch μπορεί να φαίνονται διαφορετικά. Το Μετατροπέας ημερομηνίας και ώρας μετατρέπει με δευτερόλεπτα, χιλιοστά ή αυτόματα (≤10 ψηφία ως δευτερόλεπτα, ≥13 ως χιλιοστά)—επιλέξτε τη μονάδα όταν τη γνωρίζετε.
Γιατί η λάθος μονάδα δίνει λάθος ημερομηνία;
Το JavaScript Date περιμένει χιλιοστά. Αν περάσετε 1720000000 σαν χιλιοστά, προκύπτει 1970-01-20 21:46:40 UTC. Αν τα χιλιοστά τα πάρετε ως δευτερόλεπτα, ή το αντίστροφο, πέφτετε σε εντελώς άλλη ημερομηνία. Για τη διαδρομή διάγνωσης του 1970, δείτε Unix Timestamp σε δευτερόλεπτα vs χιλιοστά: γιατί η ημερομηνία δείχνει 1970.
new Date(1720000000);
// 1970-01-20T21:46:40.000Z
Πώς μετατρέπετε Unix timestamp σε δευτερόλεπτα
Πολλαπλασιάστε τα δευτερόλεπτα με 1000 για χιλιοστά. Το JavaScript Date βασίζεται σε χιλιοστά, οπότε χρησιμοποιήστε new Date(timestamp * 1000).
const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Πώς μετατρέπετε timestamp σε χιλιοστά
Δώστε τα χιλιοστά απευθείας στο Date. Μην πολλαπλασιάσετε ξανά με 1000 ένα timestamp που ήδη είναι σε χιλιοστά.
const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Γιατί το ίδιο timestamp δείχνει άλλη ώρα;
Ένα Unix timestamp είναι μία στιγμή. Η εμφάνιση σε UTC, τοπική ώρα ή επιλεγμένη ζώνη IANA αλλάζει το καντράν. Για 1720000000000, το UTC είναι 2024-07-03 09:46:40. Το America/New_York εκείνη την ημέρα είναι 2024-07-03 05:46:40 (EDT). Το Asia/Seoul είναι 2024-07-03 18:46:40 (UTC+9). Οι τιμές Νέας Υόρκης και Σεούλ προέρχονται από το Intl, όχι από σύνθημα σταθερής μετατόπισης.
Περιέχει ένα Unix timestamp ζώνη ώρας;
Όχι. Δεν αποθηκεύει America/New_York ούτε Asia/Seoul. Το timestamp προσδιορίζει μια στιγμή. Η ζώνη εφαρμόζεται όταν μορφοποιείτε τη στιγμή ως αναγνώσιμη ημερομηνία και ώρα. Το epoch ορίζεται ως προς το UTC· ο ίδιος ο αριθμός δεν είναι «πεδίο ζώνης ώρας UTC».
Unix Timestamp έναντι ISO 8601
Το 1720000000 και το 2024-07-03T09:46:40Z μπορούν να αντιπροσωπεύουν την ίδια στιγμή. Το Unix είναι αριθμητική τιμή παρελθόντος χρόνου. Το ISO 8601 είναι αναγνώσιμη συμβολοσειρά ημερομηνίας-ώρας και μπορεί να τελειώνει σε Z (UTC) ή αριθμητική μετατόπιση. Το Z σημαίνει UTC· μερικές φορές λέγεται Zulu. Δεν είναι η ίδια μορφή.
Πώς παίρνετε το τρέχον Unix timestamp;
Στη JavaScript, το Date.now() είναι χιλιοστά. Το Math.floor(Date.now() / 1000) είναι δευτερόλεπτα. Μην παγιώνετε το «τώρα» σε άρθρο· μετακινείται.
Date.now();
Math.floor(Date.now() / 1000);
Μπορείτε να μετατρέψετε ημερομηνία πίσω σε Unix timestamp;
Ναι. Από ρητή συμβολοσειρά ISO UTC, το getTime() επιστρέφει χιλιοστά· διαιρέστε με 1000 και στρογγυλοποιήστε προς τα κάτω για δευτερόλεπτα.
const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000
Προσοχή στις διφορούμενες μορφές ημερομηνίας
Το 03/07/2024 μπορεί να σημαίνει 7 Μαρτίου ή 3 Ιουλίου ανάλογα με την περιοχή. Προτιμήστε ημερομηνία και ώρα σε στυλ ISO με ζώνη ή μετατόπιση. Το Μετατροπέας ημερομηνίας και ώρας απορρίπτει διφορούμενες αριθμητικές ημερομηνίες όπως 01/02/2026 και ζητά επιλογέα ημερομηνίας ή τιμή σε στυλ ISO.
Τι γίνεται με τη θερινή ώρα;
Ένα Unix timestamp δεν αποθηκεύει σημαία θερινής ώρας. Η τοπική εμφάνιση εφαρμόζει τους κανόνες της ζώνης. Το America/New_York χρησιμοποιεί διαφορετικές μετατοπίσεις χειμώνα και καλοκαίρι, οπότε το «η Νέα Υόρκη είναι UTC-5» δεν ισχύει πάντα.
Τα Unix timestamps περιλαμβάνουν δίσεκτα δευτερόλεπτα;
Ο τυπικός χρόνος POSIX/Unix δεν μετρά τα δίσεκτα δευτερόλεπτα ως επιπλέον δευτερόλεπτα SI σε συνεχή κλίμακα. Οι πλατφόρμες μπορεί να διαφέρουν. Στην καθημερινή μετατροπή μπορείτε να αγνοήσετε αυτή τη λεπτομέρεια.
Συχνά λάθη στη μετατροπή Unix timestamp
Αυτές οι συγχύσεις δίνουν λάθος ημερομηνία ή λάθος καντράν:
Δευτερόλεπτα ως χιλιοστά
Μια σύγχρονη τιμή σε δευτερόλεπτα πέφτει τότε κοντά στο 1970 στο JavaScript Date.
Χιλιοστά ως δευτερόλεπτα
Η ημερομηνία πηδά μακριά στο μέλλον.
Να θεωρείτε τα 10 ή 13 ψηφία νόμο
Το πλήθος ψηφίων είναι ένδειξη, όχι εγγύηση.
Σύγχυση UTC με τοπική ώρα
Η στιγμή είναι η ίδια· το εμφανιζόμενο ρολόι μπορεί να διαφέρει.
Υπόθεση ότι η ζώνη είναι μέσα στον αριθμό
Τα ονόματα IANA εφαρμόζονται στην εμφάνιση, δεν αποθηκεύονται στο timestamp.
Διφορούμενες ημερομηνίες, συνθήματα θερινής ώρας ή έξτρα ×1000
Χρησιμοποιήστε είσοδο σε στυλ ISO. Μην πολλαπλασιάσετε ξανά timestamp σε χιλιοστά.
Επαληθευμένα παραδείγματα UTC
Αυτές οι ώρες UTC υπολογίστηκαν, δεν μαντεύτηκαν:
| Είσοδος | Μονάδα | UTC |
|---|---|---|
| 0 | δευτερόλεπτα | 1970-01-01 00:00:00 |
| 1720000000 | δευτερόλεπτα | 2024-07-03 09:46:40 |
| 1720000000000 | χιλιοστά | 2024-07-03 09:46:40 |
| 1720000000 | χιλιοστά | 1970-01-20 21:46:40 |
Απλός οδηγός απόφασης για τη μετατροπή
Αν η πηγή ονομάζει τη μονάδα, χρησιμοποιήστε την. Αλλιώς το πλήθος ψηφίων είναι ένδειξη—μετά ελέγξτε ότι η ημερομηνία φαίνεται εύλογη. Μετατρέψτε δευτερόλεπτα σε χιλιοστά όταν το API χρειάζεται ms. Επιλέξτε UTC, τοπική ή ζώνη IANA για εμφάνιση. Το ISO 8601 είναι χρήσιμο για αποθήκευση και ανταλλαγή.
- Έχετε Unix timestamp
- Μονάδα δηλωμένη; Χρησιμοποιήστε την· αλλιώς ελέγξτε το μέγεθος
- Δευτερόλεπτα; ×1000 αν το API χρειάζεται χιλιοστά
- Χιλιοστά; Χρησιμοποιήστε απευθείας σε API με βάση ms
- Εμφάνιση ως UTC, τοπική ή ζώνη IANA
- Χρειάζεστε συμβολοσειρά; Το ISO 8601 μπορεί να ταιριάζει
Το timestamp προσδιορίζει ένα σημείο στον χρόνο. Το UTC, η τοπική ώρα ή μια ζώνη ώρας μόνο αποφασίζουν πώς φαίνεται αυτή η στιγμή σε έναν άνθρωπο.
Μετατρέψτε Unix timestamps στο πρόγραμμα περιήγησης
Το NEXNARA Μετατροπέας ημερομηνίας και ώρας μετατρέπει δευτερόλεπτα και χιλιοστά Unix, δείχνει UTC, τοπική ώρα και ISO 8601, και μετατρέπει μεταξύ ζωνών ώρας IANA.
Η λειτουργία Unix υποστηρίζει δευτερόλεπτα, χιλιοστά, αυτόματη μονάδα, τρέχουσα ώρα και ημερομηνία σε timestamp. Η λειτουργία ζώνης αναζητά ονόματα IANA, χρησιμοποιεί τη ζώνη του προγράμματος περιήγησης και εφαρμόζει μετατοπίσεις Intl με επίγνωση θερινής ώρας. Η λειτουργία μορφής έχει έξοδο αναγνώσιμη κατά περιοχή, εμφάνιση 12/24 και φύλακα διφορούμενης ημερομηνίας. Η διαφορά ημερομηνιών είναι ξεχωριστή λειτουργία.
Η μετατροπή χρησιμοποιεί τα API Date και Intl του προγράμματος περιήγησης. Τιμές έξω από ό,τι μπορεί να εκφράσει το Date απορρίπτονται. Η αυτόματη μονάδα δεν μαντεύει τιμές 11–12 ψηφίων· επιλέξτε δευτερόλεπτα ή χιλιοστά.
Η ίδια η μετατροπή ημερομηνίας και timestamp γίνεται στο πρόγραμμα περιήγησης. Οι είσοδοι δεν στέλνονται σε διακομιστή NEXNARA για μετατροπή. Οι διαφημίσεις και άλλες λειτουργίες του ιστότοπου εξακολουθούν να χρησιμοποιούν το δίκτυο.
Επικολλήστε ένα timestamp στο Μετατροπέας ημερομηνίας και ώρας και συγκρίνετε UTC, τοπική ώρα και ISO 8601 πριν επιλέξετε μονάδα.
FAQ
Πώς μετατρέπω Unix timestamp σε ημερομηνία;
Γνωρίστε τη μονάδα. Για δευτερόλεπτα στη JavaScript, χρησιμοποιήστε new Date(n * 1000). Για χιλιοστά, new Date(n). Έπειτα μορφοποιήστε ως UTC, τοπική ή ζώνη.
Το Unix timestamp είναι σε δευτερόλεπτα ή σε χιλιοστά;
Και τα δύο. Περίπου 10 ψηφία συχνά σημαίνουν δευτερόλεπτα και περίπου 13 χιλιοστά, αλλά είναι ευρετικός κανόνας, όχι κανόνας.
Γιατί το timestamp μου δείχνει 1970;
Συνήθως τιμή σε δευτερόλεπτα διαβάστηκε ως χιλιοστά. Δείτε Unix Timestamp σε δευτερόλεπτα vs χιλιοστά: γιατί η ημερομηνία δείχνει 1970.
Το Unix timestamp είναι πάντα UTC;
Το epoch ορίζεται ως προς το UTC και ο αριθμός προσδιορίζει μια στιγμή. Η ζώνη εμφάνισης είναι ξεχωριστή. Δεν είναι αποθηκευμένο «πεδίο ζώνης ώρας UTC».
Περιέχει ένα Unix timestamp ζώνη ώρας;
Όχι. Δεν φέρει αναγνωριστικό IANA. Η ζώνη εφαρμόζεται όταν μορφοποιείτε τη στιγμή.
Πώς μετατρέπω ημερομηνία σε Unix timestamp;
Από συμβολοσειρά ISO UTC, το date.getTime() είναι χιλιοστά· το Math.floor(date.getTime() / 1000) είναι δευτερόλεπτα.