Σε αυτό το άρθρο, θα μάθετε να μετατρέπετε αντικείμενα ημερομηνίας, ώρας και ώρας σε αντίστοιχη συμβολοσειρά (με τη βοήθεια παραδειγμάτων)
Η strftime()
μέθοδος επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει ημερομηνία και ώρα χρησιμοποιώντας ημερομηνία, ώρα ή αντικείμενο χρόνου.
Παράδειγμα 1: ώρα για τη συμβολοσειρά χρησιμοποιώντας strftime ()
Το παρακάτω πρόγραμμα μετατρέπει ένα datetime
αντικείμενο που περιέχει την τρέχουσα ημερομηνία και ώρα σε διαφορετικές μορφές συμβολοσειράς.
from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time)
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι όπως:
έτος: 2018 μήνας: 12 ημέρα: 24 ώρα: 04:59:31 ημερομηνία και ώρα: 12/24/2018, 04:59:31
Εδώ, έτος, ημέρα, ώρα και ημερομηνία_ ώρα είναι χορδές, ενώ τώρα είναι ένα datetime
αντικείμενο.
Πώς λειτουργεί το strftime ();
Στο παραπάνω πρόγραμμα, %Y
, %m
, %d
κλπ κώδικες μορφή. Η strftime()
μέθοδος παίρνει έναν ή περισσότερους κωδικούς μορφής ως όρισμα και επιστρέφει μια μορφοποιημένη συμβολοσειρά βάσει αυτής.
- Εισαγάγαμε την
datetime
τάξη από τηνdatetime
ενότητα. Είναι επειδή το αντικείμενο τηςdatetime
κλάσης μπορεί να αποκτήσει πρόσβαση στηstrftime()
μέθοδο. - Το
datetime
αντικείμενο που περιέχει την τρέχουσα ημερομηνία και ώρα αποθηκεύεται σε μεταβλητή τώρα. - Η
strftime()
μέθοδος μπορεί να χρησιμοποιηθεί για τη δημιουργία διαμορφωμένων συμβολοσειρών. - Η συμβολοσειρά που μεταβιβάζετε στη
strftime()
μέθοδο μπορεί να περιέχει περισσότερους από έναν κωδικούς μορφής.
Παράδειγμα 2: Δημιουργία συμβολοσειράς από μια χρονική σήμανση
from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d)
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Αντικείμενο ημερομηνίας ώρας: 2018-06-12 09:55:22 Έξοδος 2: 06/12/2018, 09:55:22 Έξοδος 3: 12 Ιουν, 2018 Έξοδος 4: 12 Ιουνίου, 2018 Έξοδος 5: 09AM
Μορφοποίηση λίστας κωδικών
Ο παρακάτω πίνακας δείχνει όλους τους κωδικούς που μπορείτε να μεταβιβάσετε στη strftime()
μέθοδο.
Διευθυντικός | Εννοια | Παράδειγμα |
%a | Συντομευμένο όνομα της εβδομάδας. | Κυρ, Δευ,… |
%A | Πλήρες όνομα ημέρας της εβδομάδας. | Κυριακή Δευτέρα,… |
%w | Ημέρα της εβδομάδας ως δεκαδικός αριθμός. | 0, 1,…, 6 |
%d | Ημέρα του μήνα ως δεκαδικό δεκαδικό. | 01, 02,…, 31 |
%-d | Ημέρα του μήνα ως δεκαδικός αριθμός. | 1, 2,…, 30 |
%b | Συντομευμένο όνομα μήνα. | Ιαν, Φεβ…, Δεκ |
%B | Όνομα πλήρους μήνα. | Ιανουάριος Φεβρουάριος,… |
%m | Μήνας ως δεκαδικός αριθμός με μηδενική επένδυση. | 01, 02,…, 12 |
%-m | Μήνας ως δεκαδικός αριθμός. | 1, 2,…, 12 |
%y | Έτος χωρίς αιώνα ως δεκαδικός δεκαδικός αριθμός. | 00, 01,…, 99 |
%-y | Έτος χωρίς αιώνα ως δεκαδικός αριθμός. | 0, 1,…, 99 |
%Y | Έτος με αιώνα ως δεκαδικός αριθμός. | 2013, 2019 κ.λπ. |
%H | Ώρα (24ωρο ρολόι) ως δεκαδικός αριθμός με μηδενική επένδυση | 00, 01,…, 23 |
%-H | Ώρα (24ωρο ρολόι) ως δεκαδικός αριθμός. | 0, 1,…, 23 |
%I | Ώρα (ρολόι 12 ωρών) ως δεκαδικός δεκαδικός αριθμός. | 01, 02,…, 12 |
%-I | Ώρα (ρολόι 12 ωρών) ως δεκαδικός αριθμός. | 1, 2,… 12 |
%p | Το τοπικό AM ή PM. | Π.Μ. Μ.Μ |
%M | Λεπτό ως δεκαδικός αριθμός με μηδενική επένδυση. | 00, 01,…, 59 |
%-M | Λεπτό ως δεκαδικός αριθμός. | 0, 1,…, 59 |
%S | Δεύτερος ως δεκαδικός αριθμός με μηδενικό. | 00, 01,…, 59 |
%-S | Δεύτερος ως δεκαδικός αριθμός. | 0, 1,…, 59 |
%f | Μικροδευτερόλεπτο ως δεκαδικός αριθμός, μηδενικός στα αριστερά. | 000000 - 999999 |
%z | Μετατόπιση UTC με τη μορφή + HHMM ή -HHMM. | |
%Z | Όνομα ζώνης ώρας. | |
%j | Ημέρα του έτους ως μηδενικός δεκαδικός αριθμός. | 001, 002,…, 366 |
%-j | Ημέρα του έτους ως δεκαδικός αριθμός. | 1, 2,…, 366 |
%U | Αριθμός εβδομάδας του έτους (Κυριακή ως πρώτη ημέρα της εβδομάδας). Όλες οι ημέρες σε ένα νέο έτος που προηγείται της πρώτης Κυριακής θεωρείται ότι είναι στην εβδομάδα 0. | 00, 01,…, 53 |
%W | Αριθμός εβδομάδας του έτους (Δευτέρα ως πρώτη ημέρα της εβδομάδας). Όλες οι ημέρες σε ένα νέο έτος που προηγείται της πρώτης Δευτέρας θεωρούνται ότι είναι στην εβδομάδα 0. | 00, 01,…, 53 |
%c | Η κατάλληλη παράσταση ημερομηνίας και ώρας του Locale. | Δευ 30 Σεπ 07:06:05 2013 |
%x | Η κατάλληλη αναπαράσταση ημερομηνίας της περιοχής. | 09/30/13 |
%X | Η κατάλληλη αναπαράσταση της τοπικής ώρας. | 07:06:05 |
%% | Ένας κυριολεκτικός χαρακτήρας '%'. | % |
Παράδειγμα 3: Η κατάλληλη ημερομηνία και ώρα της περιοχής
from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d)
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Έξοδος 1: Τρί 12 Ιουνίου 09:55:22 2018 Έξοδος 2: 06/12/18 Έξοδος 3: 09:55:22
Διαμορφώστε τους κωδικούς %c
, %x
και %X
χρησιμοποιούνται για την κατάλληλη ημερομηνία και ώρα εκπροσώπηση της τοπικής ρύθμισης του.
Σας προτείνουμε επίσης να ελέγξετε το Python strptime (). Η strptime()
μέθοδος δημιουργεί ένα datetime
αντικείμενο από μια συμβολοσειρά.