Manipulasyon ng Petsa sa Python
Ipinaliwanag ng artikulong ito ang manipulasyon ng petsa sa Python.
YouTube Video
Manipulasyon ng Petsa sa Python
Ang manipulasyon ng petsa sa Python ay pangunahing gumagamit ng datetime
module. Ang module na ito ay nagbibigay ng iba't ibang klase at mga function para manipulahin ang mga petsa at oras.
Narito ang ilang halimbawa ng pangunahing manipulasyon ng petsa gamit ang datetime
module.
Pagkuha ng Petsa at Oras
Maaari mong makuha ang kasalukuyang petsa at oras sa ganitong paraan. Halos magkapareho ang resulta ng datetime.now()
at datetime.today()
, ngunit maaaring may pagkakaiba sa paraan ng paghawak nila ng mga oras ng time zone.
1from datetime import datetime
2
3# Get the current date and time
4now = datetime.now()
5print(f"Current date and time: {now}")
6
7# Get today's date only
8today = datetime.today()
9print(f"Today's date: {today.date()}")
- Kinukuha at ipinapakita ng code na ito ang kasalukuyang petsa at oras, pati na rin ang petsa ng araw na ito lamang.
Paglikha ng Tiyak na Mga Petsa at Oras
Maaari kang lumikha ng tiyak na petsa at oras sa ganitong paraan.
1from datetime import datetime
2
3# Create a specific date and time
4specific_date = datetime(2023, 11, 7, 10, 30, 45)
5print(f"Specified date and time: {specific_date}")
- Ang code na ito ay lumilikha at nagpapakita ng tinukoy na petsa at oras (Nobyembre 7, 2023, 10:30:45).
Pag-format ng Mga Petsa
Maaaring i-format ang petsa sa ganitong paraan.
1from datetime import datetime
2
3now = datetime.now()
4
5# Format the date
6formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
7print(f"Formatted date and time: {formatted_date}")
- Kinuha ng code na ito ang kasalukuyang petsa at oras, ini-format gamit ang
strftime
ayon sa tinukoy na format, at ipinapakita ito.
Mga string ng format ng petsa
%Y
: Taon (4 na numero)%m
: Buwan (01 hanggang 12)%d
: Araw (01 hanggang 31)%H
: Oras (00 hanggang 23)%M
: Minuto (00 hanggang 59)%S
: Segundo (00 hanggang 59)
Pag-parse ng string ng petsa
Maaari mong gawing isang datetime
object ang isang string na kumakatawan sa isang petsa.
1from datetime import datetime
2
3date_string = "2023-11-07 10:30:45"
4parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
5print(f"Parsed date and time: {parsed_date}")
- Ang code na ito ay nagko-convert ng petsang naka-string patungo sa isang
datetime
object gamit angstrptime()
at ipinapakita ito.
Aritmetika ng Petsa
Maaaring gawin ang mga kalkulasyon ng petsa sa ganitong paraan.
1from datetime import datetime, timedelta
2
3now = datetime.now()
4
5# Date for one day later
6tomorrow = now + timedelta(days=1)
7print(f"Date for one day later: {tomorrow}")
8
9# Date for one week ago
10last_week = now - timedelta(weeks=1)
11print(f"Date for one week ago: {last_week}")
12
13# Time for two hours later
14in_two_hours = now + timedelta(hours=2)
15print(f"Time for two hours later: {in_two_hours}")
- Ginagamit ng code na ito ang
timedelta
para magdagdag o magbawas ng araw at oras mula sa kasalukuyang petsa at oras, kine-kalkula at ipinapakita ang petsa at oras para sa bukas, isang linggo ang nakalipas, at dalawang oras mula ngayon.
Paghawak ng mga time zone
Maaari mo ring pangasiwaan ang mga time zone gamit ang module na datetime
.
1from datetime import datetime, timezone, timedelta
2
3# Current UTC time
4utc_now = datetime.now(timezone.utc)
5print(f"Current UTC time: {utc_now}")
6
7# JST (UTC+9)
8jst = timezone(timedelta(hours=9))
9jst_now = datetime.now(jst)
10print(f"Current JST time: {jst_now}")
- Awtomatikong nagbabalik ang
datetime
ng 'naive datetime' (walang impormasyon ng time zone). Maaari mong pamahalaan nang malinaw ang mga time zone gamit ang klase natimezone
ozoneinfo
.
Ang klase ng petsa at klase ng oras
Gamit ang datetime
module, maaari ka ring mag-manipula ng mga petsa lamang o oras lamang.
1from datetime import date, time
2
3d = date(2023, 11, 7)
4t = time(10, 30, 45)
5
6print(f"Date only: {d}")
7print(f"Time only: {t}")
- Ang
date
class ay para lamang sa mga petsa, at angtime
class ay para lamang sa mga oras.
Pagko-convert sa pagitan ng datetime
at timestamp
Posibleng mag-convert sa pagitan ng UNIX timestamp at mga datetime
object. Dito, ang UNIX timestamp ay tumutukoy sa bilang ng mga segundo mula noong Enero 1, 1970.
1from datetime import datetime
2
3now = datetime.now()
4
5# datetime → timestamp
6timestamp = now.timestamp()
7print(f"Timestamp: {timestamp}")
8
9# timestamp → datetime
10restored = datetime.fromtimestamp(timestamp)
11print(f"Restored datetime: {restored}")
- Kinoconvert ng code na ito ang kasalukuyang petsa at oras sa UNIX timestamp, at pagkatapos ay ginagamit ang function na
fromtimestamp()
upang ibalik ito sa isangdatetime
object.
Mga karaniwang pagkakamali
Kapag gumagamit ng module na datetime
, kailangan mong bigyang-pansin ang mga sumusunod na punto.
- Hindi isinasaalang-alang ng
datetime.now()
ang mga time zone, kaya para sa internasyonal na paggamit, kailangan mong gamitin angtimezone.utc
nang malinaw. - Mag-ingat na hindi malito sa pagitan ng
%m
(buwan) at%M
(minuto) sa mga format string.
Buod
Nagbibigay din ang datetime
module ng maraming iba pang tampok para sa nababaluktot na manipulasyon ng petsa at oras. Bukod dito, ang mga klase tulad ng date
, time
, at timedelta
ay magagamit, na espesyal para sa mga tiyak na operasyon.
Ang paggamit ng ibang mga library ay nagbibigay din ng mas advanced na manipulasyon ng petsa. Halimbawa, ang pandas
ay dalubhasa sa paghawak ng time series na data, habang ang dateutil
ay angkop para sa mas komplikadong pag-parse ng petsa. Bukod pa rito, ang arrow
na aklatan ay kapaki-pakinabang din.
Maaari mong sundan ang artikulo sa itaas gamit ang Visual Studio Code sa aming YouTube channel. Paki-check din ang aming YouTube channel.