Η Python παρέχει ένα ενσωματωμένο module με το όνομα “datetime” για την επεξεργασία ημερομηνιών και χρόνων. Το module “datetime” περιλαμβάνει διάφορες κλάσεις που μας επιτρέπουν να διαχειριστούμε ημερομηνίες, χρόνους και χρονικά διαστήματα. Μπορούμε να χρησιμοποιήσουμε αυτές τις κλάσεις για να εκτελέσουμε διάφορες λειτουργίες, όπως τον υπολογισμό της τρέχουσας ημερομηνίας και ώρας, την προσθήκη ή αφαίρεση χρονικών διαστημάτων από μια ημερομηνία, και τη μορφοποίηση ημερομηνιών σε διάφορες μορφές εμφάνισης.
Παράδειγμα
Εισάγετε το module datetime και εμφανίστε την τρέχουσα ημερομηνία:
import datetime # Λήψη της τρέχουσας ημερομηνίας και ώρας current_date = datetime.datetime.now() # Εκτύπωση της τρέχουσας ημερομηνίας print("Η τρέχουσα ημερομηνία είναι:", current_date)
Ο παραπάνω κώδικας χρησιμοποιεί τη βιβλιοθήκη datetime
για να πάρει την τρέχουσα ημερομηνία και ώρα και την αποθηκεύει στη μεταβλητή current_date
. Έπειτα, χρησιμοποιεί την εντολή print
για να εκτυπώσει την τρέχουσα ημερομηνία.
Ο κώδικας εισάγει την βιβλιοθήκη datetime
με την εντολή import datetime
. Η datetime
είναι μια βιβλιοθήκη της Python που παρέχει λειτουργίες για εργασία με ημερομηνίες και ώρες. Η συνάρτηση datetime.now()
επιστρέφει ένα αντικείμενο datetime
που περιέχει την τρέχουσα ημερομηνία και ώρα. Η εντολή print
εκτυπώνει το μήνυμα "Η τρέχουσα ημερομηνία είναι:"
ακολουθούμενο από την τιμή της μεταβλητής current_date
, που είναι η τρέχουσα ημερομηνία.
Το module datetime έχει πολλές μεθόδους για να επιστρέψει πληροφορίες σχετικά με το αντικείμενο ημερομηνίας.
Ακολουθούν μερικά παραδείγματα:
Παράδειγμα 1: Εξαγωγή του έτους και του μήνα
import datetime # Λήψη της τρέχουσας ημερομηνίας και ώρας current_date = datetime.datetime.now() # Ανάκτηση του έτους από την τρέχουσα ημερομηνία year = current_date.year # Ανάκτηση του μήνα από την τρέχουσα ημερομηνία month = current_date.month # Εκτύπωση του τρέχοντος έτους print("Το τρέχον έτος είναι:", year) # Εκτύπωση του τρέχοντος μήνα print("Ο τρέχων μήνας είναι:", month)
Ο κώδικας παραπάνω εκτελεί τις παρακάτω ενέργειες:
- Εισάγει τη βιβλιοθήκη
datetime
. - Δημιουργεί μια μεταβλητή
current_date
που περιέχει την τρέχουσα ημερομηνία και ώρα. - Αντλεί το έτος από την
current_date
και το αποθηκεύει στη μεταβλητήyear
. - Αντλεί τον μήνα από την
current_date
και το αποθηκεύει στη μεταβλητήmonth
. - Εκτυπώνει τη φράση “Το τρέχον έτος είναι:” ακολουθούμενη από την τιμή της μεταβλητής
year
. - Εκτυπώνει τη φράση “Ο τρέχων μήνας είναι:” ακολουθούμενη από την τιμή της μεταβλητής
month
.
Έτσι, ο κώδικας εμφανίζει στην οθόνη το τρέχον έτος και μήνα, χρησιμοποιώντας την βιβλιοθήκη datetime
για να λάβει την τρέχουσα ημερομηνία και ώρα.
[adinserter block=”2″]
Παράδειγμα 2: Δημιουργία νέας ημερομηνίας
import datetime # Δημιουργία νέας ημερομηνίας με τη χρήση της κλάσης datetime new_date = datetime.datetime(2023, 6, 1) # Εκτύπωση της νέας ημερομηνίας print("Η νέα ημερομηνία είναι:", new_date)
Ο κώδικας δημιουργεί μια νέα ημερομηνία με χρήση της βιβλιοθήκης datetime
της Python. Συγκεκριμένα, η κλάση datetime
χρησιμοποιείται για την δημιουργία αντικειμένων ημερομηνίας και ώρας.
Στον κώδικα, δημιουργείται μια νέα ημερομηνία με την τιμή 1η Ιουνίου 2023. Η ημερομηνία αυτή αποθηκεύεται στη μεταβλητή new_date
.
Έπειτα, με τη χρήση της εντολής print
, η ημερομηνία εκτυπώνεται στην οθόνη, με το κείμενο “Η νέα ημερομηνία είναι:” να προηγείται της εκτύπωσης της τιμής της μεταβλητής new_date
.
Συνολικά, ο κώδικας εκτυπώνει τη φράση “Η νέα ημερομηνία είναι:” ακολουθούμενη από την ημερομηνία 1ης Ιουνίου 2023 στην οθόνη.
Παράδειγμα 3: Υπολογισμός διαφοράς μεταξύ δύο ημερομηνιών
import datetime # Δημιουργία δύο ημερομηνιών date1 = datetime.datetime(2023, 6, 1) date2 = datetime.datetime(2023, 6, 15) # Υπολογισμός της διαφοράς μεταξύ των ημερομηνιών date_difference = date2 - date1 # Εκτύπωση της διαφοράς print("Η διαφορά μεταξύ των ημερομηνιών είναι:", date_difference)
Ο κώδικας αυτός χρησιμοποιεί τη βιβλιοθήκη datetime
για να υπολογίσει τη διαφορά μεταξύ δύο ημερομηνιών. Συγκεκριμένα, κάνει τα εξής:
- Εισάγει τη βιβλιοθήκη
datetime
. - Δημιουργεί δύο αντικείμενα
datetime
με τις συγκεκριμένες ημερομηνίες. - Υπολογίζει τη διαφορά μεταξύ των δύο ημερομηνιών, αποθηκεύοντας το αποτέλεσμα στη μεταβλητή
date_difference
. - Εκτυπώνει τη διαφορά μεταξύ των ημερομηνιών, μαζί με ένα κείμενο που προηγείται.
Ο κώδικας, συνολικά, υπολογίζει και εκτυπώνει τη διαφορά σε ημέρες μεταξύ των δύο ημερομηνιών που προσδιορίζονται.
Παράδειγμα 4: Προσθήκη ημερών σε μια ημερομηνία
import datetime # Λήψη τρέχουσας ημερομηνίας current_date = datetime.datetime.now() # Ορισμός επιπλέον ημερών additional_days = datetime.timedelta(days=7) # Υπολογισμός νέας ημερομηνίας μετά την προσθήκη των επιπλέον ημερών new_date = current_date + additional_days # Εκτύπωση της νέας ημερομηνίας print("Η ημερομηνία μετά από 7 ημέρες θα είναι:", new_date)
[adinserter block=”3″]
Ο παραπάνω κώδικας πραγματοποιεί τις εξής ενέργειες:
- Εισάγει τη βιβλιοθήκη
datetime
, η οποία παρέχει λειτουργίες για την εργασία με ημερομηνίες και ώρες. - Χρησιμοποιεί τη συνάρτηση
datetime.now()
για να αποθηκεύσει την τρέχουσα ημερομηνία και ώρα στη μεταβλητήcurrent_date
. - Δημιουργεί μια νέα μεταβλητή
additional_days
που αντιστοιχεί σε μια περίοδο επιπλέον ημερών (στην περίπτωση μας, 7 ημέρες) με τη χρήση της συνάρτησηςtimedelta(days=7)
. - Πραγματοποιεί την πρόσθεση της τρέχουσας ημερομηνίας
current_date
με την περίοδοadditional_days
, αποθηκεύοντας το αποτέλεσμα στη μεταβλητήnew_date
. - Τέλος, εκτυπώνει το μήνυμα
"Η ημερομηνία μετά από 7 ημέρες θα είναι:"
ακολουθούμενο από την τιμή της μεταβλητήςnew_date
, που είναι η νέα ημερομηνία που υπολογίστηκε.
Αυτά τα παραδείγματα αποδεικνύουν την χρησιμότητα του datetime
module στην Python. Στη συνέχεια του κεφαλαίου, θα εξετάσουμε περισσότερες λειτουργίες και μεθόδους που προσφέρονται από αυτό το module.
Παράδειγμα
Επιστροφή του έτους και του ονόματος της ημέρας της εβδομάδας:
import datetime # Λήψη της τρέχουσας ημερομηνίας και ώρας current_date = datetime.datetime.now() # Λήψη του έτους από την τρέχουσα ημερομηνία year = current_date.year # Λήψη του ονόματος της ημέρας της εβδομάδας από την τρέχουσα ημερομηνία weekday_name = current_date.strftime("%A") # Εκτύπωση του τρέχοντος έτους print("Το τρέχον έτος είναι:", year) # Εκτύπωση της ημέρας της εβδομάδας print("Η ημέρα της εβδομάδας είναι:", weekday_name)
Ο κώδικας αυτός προορίζεται να εμφανίσει στην οθόνη το τρέχον έτος και την ημέρα της εβδομάδας. Για να επιτευχθεί αυτό, ο κώδικας προχωράει ως εξής:
- Εισάγει την βιβλιοθήκη
datetime
, η οποία παρέχει δυνατότητες για εργασία με ημερομηνίες και ώρες. - Δημιουργεί μια μεταβλητή
current_date
που αποθηκεύει την τρέχουσα ημερομηνία και ώρα. - Χρησιμοποιεί τη μεταβλητή
current_date
για να αντλήσει το έτος μέσω της μεταβλητήςyear
. - Χρησιμοποιεί τη μέθοδο
strftime()
για να αντλήσει το όνομα της ημέρας της εβδομάδας από τη μεταβλητήcurrent_date
και το αποθηκεύει στη μεταβλητήweekday_name
. - Εμφανίζει το τρέχον έτος και την ημέρα της εβδομάδας με τη χρήση των εντολών
print()
.
Έτσι, ο κώδικας θα εμφανίσει κάτι παρόμοιο με το παρακάτω στην οθόνη:
Το τρέχον έτος είναι: 2023 Η ημέρα της εβδομάδας είναι: Πέμπτη
Οι συγκεκριμένες τιμές μπορεί να διαφέρουν ανάλογα με την τρέχουσα ημερομηνία και ώρα που εκτελείται ο κώδικας.
Η κλάση datetime()
αναμένει τρεις παραμέτρους για τη δημιουργία μιας ημερομηνίας: έτος, μήνας και ημέρα.
import datetime # Δημιουργία ενός αντικειμένου ημερομηνίας date_example = datetime.datetime(2023, 5, 15) # Εκτύπωση της δημιουργημένης ημερομηνίας print("The created date is:", date_example)
Ο κώδικας δημιουργεί ένα αντικείμενο ημερομηνίας με την ημερομηνία 15 Μαΐου 2023, χρησιμοποιώντας τη βιβλιοθήκη datetime
. Έπειτα, εκτυπώνει τη δημιουργημένη ημερομηνία στην οθόνη. Το αποτέλεσμα που θα εμφανιστεί θα είναι:
The created date is: 2023-05-15 00:00:00
Το αντικείμενο ημερομηνίας παρουσιάζεται στη μορφή “Έτος-Μήνας-Ημέρα Ώρα:Λεπτά:Δευτερόλεπτα”.
[adinserter block=”4″]
Η μέθοδος strftime()
είναι διαθέσιμη στο αντικείμενο datetime
και χρησιμοποιείται για τη μορφοποίηση των ημερομηνιών σε αναγνώσιμες συμβολοσειρές.
Για να χρησιμοποιήσετε τη μέθοδο strftime()
, πρέπει να παρέχετε ένα όρισμα format
, το οποίο καθορίζει τη μορφή της επιστρεφόμενης συμβολοσειράς. Οι μορφές περιέχουν ειδικούς χαρακτήρες που αντιπροσωπεύουν στοιχεία της ημερομηνίας, όπως το έτος, ο μήνας, η ημέρα, η ώρα και άλλα.
Μερικοί από τους συχνά χρησιμοποιούμενους χαρακτήρες μορφοποίησης είναι:
%Y
: το έτος σε τετραψήφια μορφή%m
: ο μήνας σε διψήφια μορφή (01 έως 12)%d
: η ημέρα του μήνα σε διψήφια μορφή (01 έως 31)%H
: η ώρα σε διψήφια μορφή (00 έως 23)%M
: τα λεπτά σε διψήφια μορφή (00 έως 59)%S
: τα δευτερόλεπτα σε διψήφια μορφή (00 έως 59)
Με τη χρήση της μεθόδου strftime()
, μπορείτε να δημιουργήσετε προσαρμοσμένες συμβολοσειρές ημερομηνιών ανάλογα με τις ανάγκες σας.
import datetime # Λήψη της τρέχουσας ημερομηνίας και ώρας current_date = datetime.datetime.now() # Μορφοποίηση της ημερομηνίας σε ένα διαβαθμισμένο μορφότυπο formatted_date = current_date.strftime("%B %d, %Y") # Εκτύπωση της μορφοποιημένης ημερομηνίας print("The current date in a readable format is:", formatted_date)
Ο παραπάνω κώδικας χρησιμοποιεί τη βιβλιοθήκη datetime
της Python για να λάβει την τρέχουσα ημερομηνία και ώρα. Στη συνέχεια, χρησιμοποιεί τη μέθοδο strftime()
για να μορφοποιήσει την ημερομηνία σε ένα διαβαθμισμένο μορφότυπο.
Ο διαμορφωμένος κώδικας αποθηκεύεται στη μεταβλητή formatted_date
. Τέλος, η εντολή print()
χρησιμοποιείται για να εκτυπωθεί ο μορφοποιημένος κώδικας, παρέχοντας ένα κατανοητό μορφοποιημένο αποτέλεσμα της τρέχουσας ημερομηνίας.
Μια αναφορά σε όλους τους νόμιμους κωδικούς μορφής:
Οδηγία | Περιγραφή | Παράδειγμα |
---|---|---|
%a | Συντομογραφία ημέρας της εβδομάδας | Mon |
%A | Ολόκληρο το όνομα της ημέρας της εβδομάδας | Monday |
%w | Αριθμός ημέρας της εβδομάδας (0-6, 0 είναι Κυριακή) | 1 |
%d | Αριθμός ημέρας του μήνα (01-31) | 23 |
%b | Συντομογραφία ονόματος μήνα | Apr |
%B | Ολόκληρο το όνομα του μήνα | April |
%m | Αριθμός μήνα (01-12) | 04 |
%y | Τα δύο τελευταία ψηφία του έτους | 23 |
%Y | Το πλήρες έτος | 2023 |
%H | Ώρα (00-23) | 14 |
%I | Ώρα (01-12) | 02 |
%p | Πρωί ή απόγευμα (AM/PM) | PM |
%M | Λεπτά (00-59) | 30 |
%S | Δευτερόλεπτα (00-59) | 45 |
%f | Μικροδευτερόλεπτα (000000-999999) | 123456 |
%z | Ζώνη ώρας ως ένας ώρες+offset | +0200 |
%Z | Όνομα ζώνης ώρας | EDT |
%j | Ημέρα του έτους (001-366) | 115 |
%U | Αριθμός εβδομάδας του έτους (00-53), με την Κυριακή ως πρώτη ημέρα της εβδομάδας | 16 |
%W | Αριθμός εβδομάδας του έτους (00-53), με τη Δευτέρα ως πρώτη ημέρα της εβδομάδας | 17 |
%c | Τοπική αναπαράσταση ημερομηνίας και ώρας | Tue Apr 26 14:30:45 2023 |
%x | Τοπική αναπαράσταση ημερομηνίας | 04/26/23 |
%X | Τοπική αναπαράσταση ώρας | 14:30:45 |
%% | Ένα κυριολεκτικό χαρακτήρα ‘%’ | % |
Μπορείτε να συνδυάσετε αυτούς τους κωδικούς μορφής για να δημιουργήσετε προσαρμοσμένες μορφές ημερομηνίας και ώρας που θα ανταποκρίνονται στις ανάγκες της εφαρμογής σας.