כיצד לטפל בתאריכים ושעות ב- Python עם תאריך שעון
טיפול בתאריכים ושעות היא משימה נפוצה בתכנות, ופייתון מספקת מודול מובנה בשם datetime
לעבודה עם תאריכים ושעות. מודול זה מספק שיעורים למניפולציה של תאריכים, שעות ומרווחי זמן, מה שמקל על ביצוע אריתמטיקה של תאריכים, עיצוב תאריכים וניהול אזורי זמן. במאמר זה, נחקור כיצד להשתמש במודול datetime
כדי לטפל בתאריכים ושעות ביעילות ב-Python.
תחילת העבודה עם datetime
המודול datetime
מספק מספר מחלקות, כגון datetime.date
, datetime.time
, datetime.datetime
, datetime. timedelta
, ו-datetime.tzinfo
. שיעורים אלו מאפשרים לנו לעבוד עם תאריכים, שעות ומרווחי זמן.
כדי להתחיל להשתמש במודול datetime
, עליך לייבא אותו:
import datetime
עבודה עם תאריכים
אתה יכול ליצור אובייקט תאריך באמצעות המחלקה date
. זה דורש שלושה פרמטרים: שנה, חודש ויום.
from datetime import date
# Create a date object
my_date = date(2023, 9, 4)
print(my_date) # Output: 2023-09-04
אתה יכול גם לגשת לרכיבים בודדים של התאריך, כגון השנה, החודש והיום:
print(my_date.year) # Output: 2023
print(my_date.month) # Output: 9
print(my_date.day) # Output: 4
עבודה עם טיימס
המחלקה time
מאפשרת לך ליצור אובייקט זמן. זה דורש שעות, דקות, שניות ומיקרו-שניות (אופציונלי).
from datetime import time
# Create a time object
my_time = time(14, 30, 45)
print(my_time) # Output: 14:30:45
בדומה לתאריכים, אתה יכול לגשת לרכיבים בודדים של אובייקט הזמן:
print(my_time.hour) # Output: 14
print(my_time.minute) # Output: 30
print(my_time.second) # Output: 45
שילוב תאריך ושעה עם datetime
המחלקה datetime
משלבת גם תאריך ושעה לאובייקט אחד. אתה יכול ליצור אובייקט datetime
על ידי העברת השנה, החודש, היום, השעה, הדקה, השנייה והמיקרו-שנייה (אופציונלי).
from datetime import datetime
# Create a datetime object
my_datetime = datetime(2023, 9, 4, 14, 30, 45)
print(my_datetime) # Output: 2023-09-04 14:30:45
אתה יכול לגשת הן לרכיבי התאריך והשעה של אובייקט datetime
:
print(my_datetime.date()) # Output: 2023-09-04
print(my_datetime.time()) # Output: 14:30:45
קבלת התאריך והשעה הנוכחיים
מודול datetime
מספק שיטות נוחות לקבל את התאריך הנוכחי, השעה או שניהם:
# Current date
today = date.today()
print(today) # Output: (current date)
# Current date and time
now = datetime.now()
print(now) # Output: (current date and time)
חשבון תאריך עם timedelta
המחלקה timedelta
מייצגת משך, שהוא ההבדל בין שני תאריכים או שעות. זה מאפשר לך לבצע חשבון תאריך, כגון הוספה או הפחתה של ימים מתאריך.
from datetime import timedelta
# Create a timedelta object
delta = timedelta(days=7)
# Add 7 days to the current date
future_date = today + delta
print(future_date)
ניתן גם לחשב את ההפרש בין שני תאריכים:
# Calculate the difference between two dates
date1 = date(2023, 9, 4)
date2 = date(2023, 9, 11)
difference = date2 - date1
print(difference.days) # Output: 7
עיצוב תאריכים ושעות
השיטה strftime()
מאפשרת לך לעצב תאריך או שעה למחרוזת. שיטה זו לוקחת קוד פורמט כדי לציין את הפורמט הרצוי:
# Format a date object
formatted_date = today.strftime('%B %d, %Y')
print(formatted_date) # Output: September 04, 2023
קודי פורמט נפוצים כוללים:
%Y
- שנה (למשל, 2023)%m
- חודש כמספר עשרוני מרופד באפס (למשל, 09)%d
- יום בחודש כמספר עשרוני מרופד באפס (למשל, 04)%H
- שעה (שעון 24 שעות) כמספר עשרוני מרופד באפס (למשל, 14)%M
- דקה כמספר עשרוני מרופד באפס (למשל, 30)%S
- שני כמספר עשרוני מרופד באפס (למשל, 45)
ניתוח תאריכים ממחרוזות
השיטה strptime()
מאפשרת לך להמיר מחרוזת לאובייקט datetime
, בהינתן הפורמט של מחרוזת התאריך:
# Parse a date from a string
date_str = '2023-09-04'
parsed_date = datetime.strptime(date_str, '%Y-%m-%d')
print(parsed_date)
עבודה עם אזורי זמן
המודול datetime
תומך באובייקטים datetime
המודעים לאזור זמן באמצעות ספריית pytz
. כדי לעבוד עם אזורי זמן, עליך להתקין pytz
:
pip install pytz
לאחר מכן, תוכל להקצות אזור זמן לאובייקט datetime
:
from datetime import datetime
import pytz
# Set timezone to UTC
utc_zone = pytz.utc
now_utc = datetime.now(utc_zone)
print(now_utc)
מַסְקָנָה
המודול datetime
ב-Python מספק כלים רבי עוצמה לטיפול בתאריכים ושעות, כולל יצירה, עיצוב, ניתוח וביצוע אריתמטיקה עם אובייקטי תאריך ושעה. בין אם אתה צריך לתמרן תאריכים, לעבוד עם אזורי זמן או לעצב תאריכים ושעות לתצוגה, מודול datetime
סיפק אותך.