כיצד לטפל בתאריכים ושעות ב- 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 סיפק אותך.