Περισσότερα
Η time.time() της Python επιστρέφει το τοπικό ή το UTC timestamp;
Η time.time()
στην ενότητα time της Python επιστρέφει την ώρα του συστήματος ή την ώρα σε UTC;
528
3
Η συνάρτηση
time.time()
επιστρέφει τον αριθμό των δευτερολέπτων από την εποχή, ως δευτερόλεπτα. Σημειώστε ότι η "εποχή" ορίζεται ως η αρχή της 1ης Ιανουαρίου 1970 σε UTC. Έτσι, η εποχή ορίζεται σε όρους UTC και καθορίζει μια παγκόσμια χρονική στιγμή. Ανεξάρτητα από το πού βρίσκεστε "δευτερόλεπτα μετά την εποχή" (time.time()) επιστρέφει την ίδια τιμή την ίδια στιγμή.Ακολουθεί κάποιο δείγμα εξόδου που έτρεξα στον υπολογιστή μου, μετατρέποντάς το επίσης σε συμβολοσειρά.
Η μεταβλητή
ts
είναι ο χρόνος που επιστρέφεται σε δευτερόλεπτα. Στη συνέχεια τη μετέτρεψα σε συμβολοσειρά χρησιμοποιώντας τη βιβλιοθήκηdatetime
, καθιστώντας την μια συμβολοσειρά που είναι αναγνώσιμη από τον άνθρωπο.Πρόκειται για την μορφή κειμένου μιας χρονοσφραγίδας που μπορεί να χρησιμοποιηθεί στα αρχεία κειμένου σας. (Ο τίτλος της ερώτησης ήταν διαφορετικός στο παρελθόν, οπότε η εισαγωγή αυτής της απάντησης άλλαξε για να διευκρινιστεί πώς θα μπορούσε να ερμηνευτεί ως ώρα. [ενημέρωση 2016-01-14])
Μπορείτε να λάβετε τη χρονοσφραγίδα ως συμβολοσειρά χρησιμοποιώντας την
.now()
ή την.utcnow()
τηςdatetime.datetime
:Το
now
διαφέρει από τοutcnow
όπως αναμενόταν -- κατά τα άλλα λειτουργούν με τον ίδιο τρόπο:Μπορείτε να αποδώσετε τη χρονοσφραγίδα στο αλφαριθμητικό ρητά:
Ή μπορείτε να είστε ακόμα πιο σαφείς για να μορφοποιήσετε το timestamp με τον τρόπο που θέλετε:
Αν θέλετε τη μορφή ISO, χρησιμοποιήστε τη μέθοδο
.isoformat()
του αντικειμένου:Μπορείτε να τα χρησιμοποιήσετε σε μεταβλητές για υπολογισμούς και εκτύπωση χωρίς μετατροπές.
Με βάση την απάντηση από τον #squiguy, για να λάβετε μια πραγματική χρονοσφραγίδα θα την έδινα από float.
Τουλάχιστον αυτή είναι η έννοια.