మాడ్యూల్ పాఠాలు (2/4)
తేదీ సమయం: తేదీలు మరియు సమయాలు
datetime మాడ్యూల్ తేదీలు మరియు సమయాలను సూచించడానికి తరగతులను అందిస్తుంది.
మూడు ప్రధాన తరగతులు
date— తేదీ మాత్రమే (సంవత్సరం, నెల, రోజు)time— సమయం మాత్రమే (గంట, నిమిషం, సెకను, మైక్రోసెకండ్)datetime— తేదీ + కలిసి ఉన్న సమయంtimedelta— ఒక ** వ్యవధి** (రెండు తక్షణాల మధ్య వ్యత్యాసం)
from datetime import date, time, datetime, timedelta
date(2025, 1, 1) # datetime.date(2025, 1, 1)
time(14, 30, 0) # datetime.time(14, 30)
datetime(2025, 1, 1, 14, 30, 0) # datetime.datetime(2025, 1, 1, 14, 30)"ఇప్పుడు": now మరియు today
datetime.now() # current date + time
date.today() # current date onlytimedeltaతో అంకగణితం
from datetime import datetime, timedelta
ora = datetime(2025, 1, 1, 12, 0)
domani = ora + timedelta(days=1)
una_ora_fa = ora - timedelta(hours=1)
# difference between two datetimes -> timedelta
delta = domani - ora
delta.days # 1
delta.total_seconds() # 86400.0timedelta అంగీకరిస్తుంది days, seconds, microseconds, milliseconds,
minutes, hours, weeks (months లేదా years, అస్పష్టంగా ఉన్నాయి).
ఫార్మాటింగ్: strftime
నమూనా ప్రకారం తేదీ సమయం → స్ట్రింగ్ను మారుస్తుంది.
ora = datetime(2025, 1, 1, 14, 30)
ora.strftime("%Y-%m-%d") # '2025-01-01'
ora.strftime("%d/%m/%Y %H:%M") # '01/01/2025 14:30'
ora.strftime("%A %d %B %Y") # 'Wednesday 01 January 2025' (locale-dependent)ఎక్కువగా ఉపయోగించిన ఆదేశాలు: %Y 4-అంకెల సంవత్సరం, %m 2-అంకెల నెల, %d 2-అంకెల రోజు,
%H 24గం గంట, %M నిమిషాలు, %S సెకన్లు.
పార్సింగ్: strptime
వ్యతిరేకం: స్ట్రింగ్ → తేదీ సమయం, ఊహించిన నమూనా అందించబడింది.
datetime.strptime("01/01/2025", "%d/%m/%Y")
# datetime.datetime(2025, 1, 1, 0, 0)ISO 8601
డేటా మార్పిడి కోసం ఎల్లప్పుడూ ISO 8601 ఆకృతిని ఇష్టపడతారు (YYYY-MM-DDTHH:MM:SS):
ora.isoformat() # '2025-01-01T14:30:00'
datetime.fromisoformat("2025-01-01T14:30:00")టైమ్జోన్లు మరియు డేట్టైమ్లను తెలుసుకోండి
డిఫాల్ట్గా, పైథాన్లోని datetime వస్తువులు అమాయకంగా ఉంటాయి (అంటే వాటిలో టైమ్జోన్ సమాచారం లేదు). వాస్తవ-ప్రపంచ అనువర్తనాల కోసం, datetime.timezone.utc ద్వారా టైమ్జోన్ సమాచారాన్ని సెట్ చేయడం ద్వారా లేదా zoneinfo మాడ్యూల్ని ఉపయోగించడం ద్వారా వారికి **అవగాహన కల్పించడం ఉత్తమ అభ్యాసం.
దీనిని ప్రయత్నించండి
జనవరి 1, 2025 తర్వాత 30 రోజుల తేదీని గణించి, వేరియబుల్ `date_str`లో 'YYYY-MM-DD'గా ఫార్మాట్ చేయండి. `తేదీ_str`ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
బేస్ + టైమ్డెల్టా(రోజులు=30), ఆపై .strftime
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
`s = '15/03/2025'` స్ట్రింగ్ను అందించి, దానిని strptimeతో వేరియబుల్ `d` (తేదీ సమయ వస్తువు)లోకి అన్వయించండి. వారంలోని పూర్ణాంక రోజు `d.weekday()` (0=సోమ, 6=సూర్యుడు)ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
ఇటాలియన్-ఫార్మాట్ నమూనాతో strptime.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అదనపు సవాలు
Import `date` from the `datetime` module. Calculate the difference in days between December 25, 2026 (`date(2026, 12, 25)`) and December 20, 2026 (`date(2026, 12, 20)`). Store the integer number of days (using the `.days` attribute of the delta) in `days_diff`. Finally, evaluate the variable.
సూచనను చూపించు
The difference between two dates returns a timedelta. Access the integer days with delta.days.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది