ਪਾਈਥਨ ਦੀ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਡੇਟਟਾਈਮ ਤਾਰੀਖਾਂ ਅਤੇ ਸਮੇਂ (ਤਾਰੀਖਾਂ, ਸਮੇਂ ਅਤੇ ਸਮੇਂ) ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਵਿਧੀਆਂ strftime() ਅਤੇ strptime(), ਜੋ ਤਾਰੀਖਾਂ ਅਤੇ ਸਮੇਂ ਨੂੰ ਸਟ੍ਰਿੰਗਾਂ ਵਿੱਚ ਅਤੇ ਉਹਨਾਂ ਤੋਂ ਬਦਲਦੀਆਂ ਹਨ, ਨੂੰ ਵੱਖ-ਵੱਖ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਮਿਤੀਆਂ ਅਤੇ ਸਮੇਂ ਨੂੰ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਇਹ ਘਟਾਓ ਅਤੇ ਜੋੜ ਵਰਗੇ ਕਾਰਜ ਵੀ ਕਰ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਗਣਨਾ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ 10 ਦਿਨ ਪਹਿਲਾਂ ਜਾਂ ਹੁਣ ਤੋਂ 3 ਹਫ਼ਤੇ, ਜਾਂ ਹੁਣ ਤੋਂ 50 ਮਿੰਟ ਪਹਿਲਾਂ ਦੀ ਮਿਤੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।
ਪਹਿਲਾਂ, ਅਸੀਂ ਡੇਟਟਾਈਮ ਮੋਡੀਊਲ ਵਿੱਚ ਉਪਲਬਧ ਆਬਜੈਕਟ ਦੀਆਂ ਹੇਠ ਲਿਖੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦਾ ਵਰਣਨ ਕਰਾਂਗੇ।
datetime.datetime
:ਮਿਤੀ ਅਤੇ ਸਮਾਂ (ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ)datetime.date
:ਤਾਰੀਖ਼datetime.time
:ਸਮਾਂdatetime.timedelta
:ਸਮੇਂ ਦਾ ਅੰਤਰ ਅਤੇ ਬੀਤਿਆ ਸਮਾਂ
ਵਿਧੀਆਂ strftime() ਅਤੇ strptime(), ਜੋ ਮਿਤੀ/ਸਮਾਂ ਅਤੇ ਸਤਰ ਨੂੰ ਇੱਕ ਦੂਜੇ ਵਿੱਚ ਬਦਲਦੀਆਂ ਹਨ, ਨੂੰ ਵੀ ਸਮਝਾਇਆ ਗਿਆ ਹੈ।
datetime
ਵਸਤੂdatetime.now()
:ਅੱਜ ਦੀ ਤਾਰੀਖ, ਮੌਜੂਦਾ ਸਮਾਂdatetime
ਆਬਜੈਕਟ ਕੰਸਟਰਕਟਰ- ਡੇਟ ਟਾਈਮ ਆਬਜੈਕਟ ਨੂੰ ਡੇਟ ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲਣਾ
date
ਵਸਤੂdate.today()
:ਅੱਜ ਦੀ ਤਾਰੀਖ- ਮਿਤੀ ਵਸਤੂ ਲਈ ਕੰਸਟਰਕਟਰ
time
ਵਸਤੂ- ਟਾਈਮ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ
timedelta
ਵਸਤੂ- ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਮਿਤੀ ਸਮਾਂ ਅਤੇ ਮਿਤੀ ਵਸਤੂਆਂ ਨੂੰ ਘਟਾਓ।
- ਟਾਈਮਡੈਲਟਾ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ
- ਟਾਈਮਡੈਲਟਾ ਵਸਤੂਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਘਟਾਓ ਅਤੇ ਜੋੜ
strftime()
:ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਤੋਂ ਸਤਰ ਵਿੱਚ ਪਰਿਵਰਤਨstrptime()
:ਸਟਰਿੰਗ ਤੋਂ ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਤੱਕ ਪਰਿਵਰਤਨ
ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਕੈਲੰਡਰ ਮੋਡੀਊਲ ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਸਾਦੇ ਟੈਕਸਟ ਜਾਂ HTML ਫਾਰਮੈਟ ਵਿੱਚ ਕੈਲੰਡਰ ਤਿਆਰ ਕਰਦਾ ਹੈ।
datetime ਵਸਤੂ
ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਇੱਕ ਅਜਿਹੀ ਵਸਤੂ ਹੁੰਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਮਿਤੀ (ਸਾਲ, ਮਹੀਨਾ, ਦਿਨ) ਅਤੇ ਸਮਾਂ (ਘੰਟਾ, ਮਿੰਟ, ਸਕਿੰਟ, ਮਾਈਕ੍ਰੋ ਸੈਕਿੰਡ) ਦੋਵੇਂ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ। ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਗੁਣਾਂ ਨਾਲ ਉਹਨਾਂ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ।
year
month
day
hour
minute
second
microsecond
datetime.now():ਅੱਜ ਦੀ ਤਾਰੀਖ, ਮੌਜੂਦਾ ਸਮਾਂ
datetime.now() ਤੁਹਾਨੂੰ ਅੱਜ ਦੀ ਮਿਤੀ (ਮੌਜੂਦਾ ਮਿਤੀ) ਅਤੇ ਮੌਜੂਦਾ ਸਮੇਂ ਦੇ ਨਾਲ ਇੱਕ datetime ਵਸਤੂ ਦੇਵੇਗਾ।
import datetime
dt_now = datetime.datetime.now()
print(dt_now)
# 2018-02-02 18:31:13.271231
print(type(dt_now))
# <class 'datetime.datetime'>
print(dt_now.year)
# 2018
print(dt_now.hour)
# 18
ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ
ਆਰਬਿਟਰੇਰੀ ਤਾਰੀਖਾਂ ਅਤੇ ਸਮਿਆਂ ਲਈ ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਬਣਾਉਣਾ ਵੀ ਸੰਭਵ ਹੈ।
ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ।
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
ਹੇਠਾਂ ਦਿੱਤੇ ਮੁੱਲਾਂ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਹੋਰਾਂ ਨੂੰ ਛੱਡਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਮੁੱਲ 0 ਹੁੰਦਾ ਹੈ।
year
month
day
dt = datetime.datetime(2018, 2, 1, 12, 15, 30, 2000)
print(dt)
# 2018-02-01 12:15:30.002000
print(dt.minute)
# 15
print(dt.microsecond)
# 2000
dt = datetime.datetime(2018, 2, 1)
print(dt)
# 2018-02-01 00:00:00
print(dt.minute)
# 0
ਡੇਟ ਟਾਈਮ ਆਬਜੈਕਟ ਨੂੰ ਡੇਟ ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲਣਾ
ਇੱਕ datetime ਵਸਤੂ ਨੂੰ date() ਵਿਧੀ ਦੁਆਰਾ ਇੱਕ ਮਿਤੀ ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਅੱਗੇ ਦੱਸਿਆ ਗਿਆ ਹੈ।
print(dt_now)
print(type(dt_now))
# 2018-02-02 18:31:13.271231
# <class 'datetime.datetime'>
print(dt_now.date())
print(type(dt_now.date()))
# 2018-02-02
# <class 'datetime.date'>
ਮਿਤੀ ਵਸਤੂ
ਇੱਕ ਮਿਤੀ ਵਸਤੂ ਇੱਕ ਵਸਤੂ ਹੁੰਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਇੱਕ ਮਿਤੀ (ਸਾਲ, ਮਹੀਨਾ, ਦਿਨ) ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ। ਇਸ ਨੂੰ ਸਾਲ, ਮਹੀਨਾ ਅਤੇ ਦਿਨ ਗੁਣਾਂ ਦੁਆਰਾ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
date.today():ਅੱਜ ਦੀ ਤਾਰੀਖ
ਮੌਜੂਦਾ ਮਿਤੀ (ਅੱਜ ਦੀ ਮਿਤੀ) ਦੀ ਮਿਤੀ ਵਸਤੂ date.today() ਨਾਲ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
d_today = datetime.date.today()
print(d_today)
# 2018-02-02
print(type(d_today))
# <class 'datetime.date'>
print(d_today.year)
# 2018
ਮਿਤੀ ਵਸਤੂ ਲਈ ਕੰਸਟਰਕਟਰ
ਮਿਤੀ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ
date(year, month, day)
ਸਭ ਲੋੜੀਂਦੇ ਹਨ ਅਤੇ ਛੱਡੇ ਨਹੀਂ ਜਾ ਸਕਦੇ।
d = datetime.date(2018, 2, 1)
print(d)
# 2018-02-01
print(d.month)
# 2
ਸਮਾਂ ਵਸਤੂ
ਟਾਈਮ ਆਬਜੈਕਟ ਇੱਕ ਵਸਤੂ ਹੈ ਜਿਸ ਵਿੱਚ ਸਮੇਂ (ਘੰਟੇ, ਮਿੰਟ, ਸਕਿੰਟ ਅਤੇ ਮਾਈਕ੍ਰੋਸਕਿੰਡ) ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ। ਇਹ ਗੁਣ ਘੰਟੇ, ਮਿੰਟ, ਸਕਿੰਟ, ਅਤੇ ਮਾਈਕ੍ਰੋ ਸੈਕਿੰਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਟਾਈਮ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ
ਟਾਈਮ ਆਬਜੈਕਟ ਦਾ ਨਿਰਮਾਤਾ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ।
time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
ਉਹ ਸਾਰੇ ਵਿਕਲਪਿਕ ਹਨ, ਅਤੇ ਜੇਕਰ ਉਹਨਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ 0 ‘ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
t = datetime.time(12, 15, 30, 2000)
print(t)
# 12:15:30.002000
print(type(t))
# <class 'datetime.time'>
print(t.hour)
# 12
t = datetime.time()
print(t)
# 00:00:00
timedelta ਵਸਤੂ
ਟਾਈਮਡੈਲਟਾ ਆਬਜੈਕਟ ਇੱਕ ਵਸਤੂ ਹੈ ਜੋ ਦੋ ਤਾਰੀਖਾਂ ਅਤੇ ਸਮਿਆਂ, ਜਾਂ ਲੰਘੇ ਸਮੇਂ ਦੇ ਵਿਚਕਾਰ ਸਮੇਂ ਦੇ ਅੰਤਰ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਇਸ ਵਿੱਚ ਦਿਨਾਂ, ਸਕਿੰਟਾਂ, ਅਤੇ ਮਾਈਕ੍ਰੋਸਕਿੰਡਾਂ ਵਿੱਚ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਿਨਾਂ, ਸਕਿੰਟਾਂ ਅਤੇ ਮਾਈਕ੍ਰੋਸਕਿੰਟਾਂ ਦੁਆਰਾ ਇਸ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। total_seconds() ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਕਿੰਟਾਂ ਦੀ ਕੁੱਲ ਸੰਖਿਆ ਪ੍ਰਾਪਤ ਕਰਨਾ ਵੀ ਸੰਭਵ ਹੈ।
ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਮਿਤੀ ਸਮਾਂ ਅਤੇ ਮਿਤੀ ਵਸਤੂਆਂ ਨੂੰ ਘਟਾਓ।
ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਨੂੰ ਇੱਕ ਦੂਜੇ ਤੋਂ ਘਟਾਉਣ ਨਾਲ ਇੱਕ ਟਾਈਮਡੈਲਟਾ ਆਬਜੈਕਟ ਮਿਲਦਾ ਹੈ।
td = dt_now - dt
print(td)
# 1 day, 18:31:13.271231
print(type(td))
# <class 'datetime.timedelta'>
print(td.days)
# 1
print(td.seconds)
# 66673
print(td.microseconds)
# 271231
print(td.total_seconds())
# 153073.271231
ਇੱਕ ਦੂਜੇ ਤੋਂ ਮਿਤੀ ਵਸਤੂਆਂ ਦਾ ਘਟਾਓ ਇਸੇ ਤਰ੍ਹਾਂ ਇੱਕ ਟਾਈਮਡੈਲਟਾ ਵਸਤੂ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਟਾਈਮਡੈਲਟਾ ਆਬਜੈਕਟ ਲਈ ਕੰਸਟਰਕਟਰ
ਟਾਈਮਡੈਲਟਾ ਆਬਜੈਕਟ ਦਾ ਕੰਸਟਰਕਟਰ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ
timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
ਉਹ ਸਾਰੇ ਵਿਕਲਪਿਕ ਹਨ, ਅਤੇ ਜੇਕਰ ਉਹਨਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ 0 ‘ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਨੋਟ ਕਰੋ ਕਿ ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਵਿੱਚ ਸਿਰਫ ਹੇਠ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਹੈ।
- ਦਿਨ ਦੀ ਇੱਕ ਗਿਣਤੀ:
days
- ਸਕਿੰਟਾਂ ਦੀ ਗਿਣਤੀ:
seconds
- ਮਾਈਕ੍ਰੋ ਸਕਿੰਟ ਦੀ ਗਿਣਤੀ:
microseconds
ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਦੋ ਬਰਾਬਰ ਹਨ
weeks=1
days=7
td_1w = datetime.timedelta(weeks=1)
print(td_1w)
# 7 days, 0:00:00
print(td_1w.days)
# 7
ਟਾਈਮਡੈਲਟਾ ਵਸਤੂਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਘਟਾਓ ਅਤੇ ਜੋੜ
ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਦੀ ਵਰਤੋਂ ਡੇਟਟਾਈਮ ਅਤੇ ਡੇਟ ਆਬਜੈਕਟ ਦੇ ਨਾਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਘਟਾਓ ਅਤੇ ਜੋੜ. ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਗਣਨਾ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਇੱਕ ਹਫ਼ਤਾ ਪਹਿਲਾਂ ਜਾਂ ਹੁਣ ਤੋਂ 10 ਦਿਨ ਪਹਿਲਾਂ, ਜਾਂ ਹੁਣ ਤੋਂ 50 ਮਿੰਟ ਦਾ ਸਮਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।
d_1w = d_today - td_1w
print(d_1w)
# 2018-01-26
td_10d = datetime.timedelta(days=10)
print(td_10d)
# 10 days, 0:00:00
dt_10d = dt_now + td_10d
print(dt_10d)
# 2018-02-12 18:31:13.271231
td_50m = datetime.timedelta(minutes=50)
print(td_50m)
# 0:50:00
print(td_50m.seconds)
# 3000
dt_50m = dt_now + td_50m
print(dt_50m)
# 2018-02-02 19:21:13.271231
ਇਸਦੀ ਵਰਤੋਂ ਕਿਸੇ ਖਾਸ ਮਿਤੀ ਤੱਕ ਦਿਨਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
d_target = datetime.date(2020, 7, 24)
td = d_target - d_today
print(td)
# 903 days, 0:00:00
print(td.days)
# 903
strftime():ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਤੋਂ ਸਤਰ ਵਿੱਚ ਪਰਿਵਰਤਨ
datetime ਅਤੇ date ਆਬਜੈਕਟ ਦੀ strftime() ਵਿਧੀ ਨੂੰ ਮਿਤੀ ਅਤੇ ਸਮਾਂ (ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ) ਜਾਣਕਾਰੀ ਨੂੰ ਕਿਸੇ ਵੀ ਫਾਰਮੈਟ ਫਾਰਮੈਟ ਵਿੱਚ ਇੱਕ ਸਤਰ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਫਾਰਮੈਟਿੰਗ ਕੋਡ
ਉਪਲਬਧ ਫਾਰਮੈਟਿੰਗ ਕੋਡਾਂ ਲਈ ਹੇਠਾਂ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ ਦੇਖੋ।
ਮੁੱਖ ਫਾਰਮੈਟਿੰਗ ਕੋਡ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ।
%d
:ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਮਹੀਨੇ ਦਾ ਦਿਨ।%m
:ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਮਹੀਨਾ।%y
:ਜ਼ੀਰੋ ਨਾਲ ਭਰੇ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਸਾਲ ਦੇ ਆਖਰੀ ਦੋ ਅੰਕ।%Y
:ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਸਾਲ ਦੇ ਚਾਰ ਅੰਕ।%H
:ਜਦੋਂ ਜ਼ੀਰੋ ਭਰੇ (24-ਘੰਟੇ ਨੋਟੇਸ਼ਨ) ਨਾਲ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ%I
:ਜਦੋਂ ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ (12-ਘੰਟੇ ਨੋਟੇਸ਼ਨ) ਨਾਲ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ%M
:ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਲਈ।%S
:ਜ਼ੀਰੋ ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਸਕਿੰਟ।%f
:0 ਭਰੇ ਹੋਏ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਮਾਈਕ੍ਰੋਸਕਿੰਟ (6 ਅੰਕ)।%A
:ਲੋਕੇਲ ਲਈ ਹਫ਼ਤੇ ਦੇ ਦਿਨ ਦਾ ਨਾਮ%a
:ਲੋਕੇਲ ਲਈ ਦਿਨ ਦਾ ਨਾਮ (ਸੰਖੇਪ ਰੂਪ)%B
:ਸਥਾਨਕ ਮਹੀਨੇ ਦਾ ਨਾਮ%b
:ਸਥਾਨਕ ਮਹੀਨੇ ਦਾ ਨਾਮ (ਸੰਖੇਪ ਰੂਪ)%j
:ਜ਼ੀਰੋ ਭਰਨ ਦੇ ਨਾਲ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਸਾਲ ਦਾ ਦਿਨ।%U
:ਜ਼ੀਰੋ ਫਿਲ ਦੇ ਨਾਲ ਦਸ਼ਮਲਵ ਨੋਟੇਸ਼ਨ ਵਿੱਚ ਸਾਲ ਦੇ ਹਫ਼ਤੇ ਦੀ ਸੰਖਿਆ (ਹਫ਼ਤਾ ਐਤਵਾਰ ਨੂੰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ)%W
:ਜ਼ੀਰੋ ਭਰਨ ਦੇ ਨਾਲ ਦਸ਼ਮਲਵ ਸੰਕੇਤ ਵਿੱਚ ਸਾਲ ਦੇ ਹਫ਼ਤੇ ਦੀ ਸੰਖਿਆ (ਹਫ਼ਤਾ ਸੋਮਵਾਰ ਨੂੰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ)
ਦਿਨ ਅਤੇ ਮਹੀਨੇ ਦੇ ਨਾਵਾਂ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਰਮੈਟਿੰਗ ਕੋਡ ਲੋਕੇਲ ਦੇ ਆਧਾਰ ‘ਤੇ ਵੱਖ-ਵੱਖ ਸਤਰਾਂ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
%A
%a
%B
%b
ISO 8601 ਫਾਰਮੈਟ ਸਤਰ ਲਈ ਇੱਕ ਸਮਰਪਿਤ ਵਿਧੀ ਵੀ ਹੈ।
ਨਮੂਨਾ ਕੋਡ
print(dt_now.strftime('%Y-%m-%d %H:%M:%S'))
# 2018-02-02 18:31:13
print(d_today.strftime('%y%m%d'))
# 180202
print(d_today.strftime('%A, %B %d, %Y'))
# Friday, February 02, 2018
print('Day number (how many days in a year / January 1 is 001):', d_today.strftime('%j'))
print('Week number (the week starts on Sunday / New Year's Day is 00):', d_today.strftime('%U'))
print('Week number (the week begins on Monday / New Year's Day is 00):', d_today.strftime('%W'))
# Day number (how many days in a year / January 1 is 001): 033
# Week number (the week starts on Sunday / New Year's Day is 00): 04
# Week number (the week begins on Monday / New Year's Day is 00): 05
ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸਤਰ ਦੀ ਬਜਾਏ ਇੱਕ ਸੰਖਿਆ ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਸਨੂੰ int() ਨਾਲ ਇੱਕ ਪੂਰਨ ਅੰਕ ਵਿੱਚ ਬਦਲੋ।
week_num_mon = int(d_today.strftime('%W'))
print(week_num_mon)
print(type(week_num_mon))
# 5
# <class 'int'>
ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਦੇ ਸੁਮੇਲ ਵਿੱਚ, ਇਹ ਬਣਾਉਣਾ ਆਸਾਨ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਕਿਸੇ ਵੀ ਫਾਰਮੈਟ ਵਿੱਚ ਦੋ-ਹਫ਼ਤਾਵਾਰੀ ਮਿਤੀਆਂ ਦੀ ਸੂਚੀ।
d = datetime.date(2018, 2, 1)
td = datetime.timedelta(weeks=2)
n = 8
f = '%Y-%m-%d'
l = []
for i in range(n):
l.append((d + i * td).strftime(f))
print(l)
# ['2018-02-01', '2018-02-15', '2018-03-01', '2018-03-15', '2018-03-29', '2018-04-12', '2018-04-26', '2018-05-10']
print('\n'.join(l))
# 2018-02-01
# 2018-02-15
# 2018-03-01
# 2018-03-15
# 2018-03-29
# 2018-04-12
# 2018-04-26
# 2018-05-10
ਸੂਚੀ ਸਮਝ ਸੰਕੇਤ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚੁਸਤ ਹੈ।
l = [(d + i * td).strftime(f) for i in range(n)]
print(l)
# ['2018-02-01', '2018-02-15', '2018-03-01', '2018-03-15', '2018-03-29', '2018-04-12', '2018-04-26', '2018-05-10']
- ਸੰਬੰਧਿਤ ਲੇਖ:ਪਾਈਥਨ ਸੂਚੀ ਸਮਝ ਸੰਕੇਤ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
strptime():ਸਟਰਿੰਗ ਤੋਂ ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਤੱਕ ਪਰਿਵਰਤਨ
datetime strptime() ਨੂੰ ਇੱਕ ਮਿਤੀ ਜਾਂ ਸਮਾਂ ਸਤਰ ਤੋਂ ਇੱਕ datetime ਵਸਤੂ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਮੂਲ ਸਟ੍ਰਿੰਗ ਨਾਲ ਸੰਬੰਧਿਤ ਫਾਰਮੈਟਿੰਗ ਸਟ੍ਰਿੰਗ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ।
ISO 8601 ਸਟ੍ਰਿੰਗਜ਼ (ਪਾਈਥਨ 3.7 ਜਾਂ ਬਾਅਦ ਵਾਲੇ) ਲਈ ਇੱਕ ਸਮਰਪਿਤ ਵਿਧੀ ਵੀ ਹੈ।
ਨਮੂਨਾ ਕੋਡ
date_str = '2018-2-1 12:30'
date_dt = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M')
print(date_dt)
# 2018-02-01 12:30:00
print(type(date_dt))
# <class 'datetime.datetime'>
ਮੁੜ ਪ੍ਰਾਪਤ ਕੀਤੀ ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ‘ਤੇ strftime() ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਮੂਲ ਸਤਰ ਨਾਲੋਂ ਵੱਖਰੇ ਫਾਰਮੈਟ ਵਿੱਚ ਮਿਤੀ ਅਤੇ ਸਮੇਂ ਨੂੰ ਦਰਸਾ ਸਕਦੇ ਹੋ।
print(date_dt.strftime('%Y-%m-%d %H:%M'))
# 2018-02-01 12:30
ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ ਡੇਟਟਾਈਮ ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਟਾਈਮਡੇਲਟਾ ਆਬਜੈਕਟ ਦੇ ਨਾਲ ਵੀ ਓਪਰੇਸ਼ਨ ਕਰ ਸਕਦੇ ਹੋ, ਇਸ ਲਈ ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਉਸੇ ਫਾਰਮੈਟ ਵਿੱਚ 10 ਦਿਨ ਪਹਿਲਾਂ ਦੀ ਮਿਤੀ ਦੀ ਇੱਕ ਸਤਰ ਬਣਾ ਸਕਦੇ ਹੋ।
date_str = '2018-2-1'
date_format = '%Y-%m-%d'
td_10_d = datetime.timedelta(days=10)
date_dt = datetime.datetime.strptime(date_str, date_format)
date_dt_new = date_dt - td_10_d
date_str_new = date_dt_new.strftime(date_format)
print(date_str_new)
# 2018-01-22