Vivasoft-logo

Datetime মডিউল

সময় ( দিন , তারিখ , বছর , সময় . . . ) ইত্যাদির জন্য আমরা পাইথনের “” মডিউলটি ব্যবহার করবো। এই লেসন এ আমরা “ datetime ” মডিউলএর অন্তর্ভুক্ত বহুল ব্যবহৃত তিনটি ক্লাস “ date ” , “ datetime ” & “ timedelta ” নিয়ে জানবো date****ক্লাস তারিখ নিয়ে কাজ করার জন্য আমরা date ক্লাস ব্যবহার করবো। তার জন্য প্রথমে date ক্লাসটিকে ইম্পোর্ট করে নিবো আজকের তারিখ নিচের কোডটি রান করলে আমরা আজকের দিনের তারিখ টি পেয়ে যাবো। তারিখের ফরম্যাটটি হবে (yyyy-mm-dd) অর্থাৎ (বছর–মাস–দিন) , আমরা চাইলে ফরম্যাটটি চেঞ্জ করতে পারবো। কিন্তু সেটি আমরা এই লেসন এর একদম শেষের দিকে দেখবো

from datetime import date

today = date.today()

print(today)

# Output 2022-09-06
 

যদি বর্তমান দিন , মাস , বছর বের করতে চাই তাহলে –

from datetime import date

today = date.today()

print(f"Current Day : {today.day}")

print(f"Current Month : {today.month}")

print(f"Current Year : {today.year}")

""

Output

Current Day : 6

Current Month : 9

Current Year : 2022

""
 

Type: আমরা যদি ভ্যারিয়েবল এর টাইপ চেক দেয় তাইলে দেখতে পাবো , সেটি ক্লাসের একটি অবজেক্ট

from datetime import date

today = date.today()

print(type(today))

# Output : 

Date

from datetime import date

some_date = date(2023,12,31)

print(some_date)

# Output 2023-12-31
 

datetime****ক্লাস তারিখের সাথে সময় নির্ণয়ের জন্য আমরা datetime ক্লাস ব্যবহার করবো , তার জন্য প্রথমে date time ক্লাসটিকে ইম্পোর্ট করে নিবো

from datetime import datetime
 

বর্তমান সময় নিচের কোডটি রান করলে আমরা আজকের দিনের তারিখসহসময় টি পেয়ে যাবো। সময় ফরম্যাটটি হবে ( yyyy-mm-dd HH:MM:SS:Timestamp ) অর্থাৎ ( বছর–মাস–দিন ঘন্টা:মাস:সেকেন্ড:টাইমস্টাম্প ) .

from datetime import datetime

current_time = datetime.now()

print(current_time)

# output 2022-09-06 10:21:11.876229
 

আলাদা করে _,_ সময় ঘন্টা বের করা

from datetime import datetime

current_time = datetime.now()

print(f"Current Second: {current_time.second}")
print(f"Current Minute: {current_time.minute}")
print(f"Current Hour: {current_time.hour}")
print(f"Current Timestamp: {current_time.timestamp()}")
print(f"Current Day: {current_time.day}")
print(f"Current Month: {current_time.month}")
print(f"Current Year: {current_time.year}")

""

# Output
Current Second: 11
Current Minute: 25
Current Hour: 10
Current Timestamp: 1662438311.04346
Current Day: 6
Current Month: 9
Current Year: 2022

""
 

সংখ্যা দিয়ে তারিখসহ সময় বের করা

from datetime import datetime

day1 = datetime(2022,10,1,10,50)

print(day1)

print(type(day1))

""

Output

2022-10-01 10:50:00



""
 

দুইটি সময়ের মধ্যে ব্যবধান বের করা

from datetime import datetime

day1 = datetime(2022,10,1,10,50)

day2 = datetime(2022,12,1)

print(day2 – day1)

# Output 60 days, 13:10:00
 

সময়ের ব্যবধান থেকে আলাদা করে নির্দিষ্টি করে দিনের ব্যবধান এবং সেকেন্ড ব্যবধান বের করা –

from datetime import datetime

day1 = datetime(2022,10,1,10,50)

day2 = datetime(2022,12,1)

difference = day2 – day1

print(f"Day Interval : {difference.days} Days")

print(f"Second Interval : {difference.total_seconds()} seconds")

""

Output

Day Interval : 60 Days

Second Interval : 5231400.0 seconds

""
 

timedelta****ক্লাস যেকোনো সময়ের ব্যবধানই ক্লাসের একটি অবজেক্ট , যদি আমরা টাইপটি প্রিন্ট করি –

from datetime import datetime

day1 = datetime(2022,10,1,10,50)

day2 = datetime(2022,12,1)

difference = day2 – day1

print(type(difference))

# Output : 
 

আজকের তারিখ থেকে ১০ দিন পরের তারিখ বের করা

from datetime import datetime, timedelta

some_day = datetime(2022,12,1)

another_day = some_day + timedelta( days=10)

print(f"Date : {some_day}")

print(f"After 10 days : {another_day}")

"""

Output

Date : 2022-12-01 00:00:00

After 10 days : 2022-12-11 00:00:00

""
 

ফরম্যাটিং আমরা দুই উপায় এ ফরম্যাটিং করতে পারি, ১) স্ট্রিং থেকে ফরম্যাট , ২) datetime অবজেক্ট থেকে ফরম্যাট ) স্ট্রিং থেকে ফরম্যাট datetime.strptime()

Python-এ strptime() ফাংশনটি তারিখ এবং সময়ের স্ট্রিং উপস্থাপনা ফর্ম্যাট করতে এবং রিটার্ন করতে ব্যবহৃত হয়। এটি একটি ইনপুট হিসাবে তারিখ, সময়, বা উভয়ই নেয় এবং এটিকে দেওয়া ফর্ম্যাট অনুসারে পার্স করে।

from datetime import datetime

string_of_date = "12 Dec , 2022"

format = "%d %b , %Y"

formatted_date = datetime.strptime(string_of_date, format)

print(formatted_date)

print(f"string_of_date type: {type(string_of_date)}")

print(f"formatted_date type: {type(formatted_date)}")

# Output

# 2022-12-12 00:00:00

# string_of_date type: 

# formatted_date type: 
 

pic

_**datetime.strftime()**_

from datetime import datetime

current_time = datetime.now()

formatted_time = current_time.strftime("%d-%m-%Y %H:%M")

print(formatted_time)

# Output 07-09-2022 10:28
 
formatঅর্থউদাহরণ
%aসংক্ষিপ্ত কর্মদিবসের নামSun, Mon, …
%Aসপ্তাহের পুরো দিনের নামSunday, Monday, Tuesday, …
%wসংখ্যা হিসেবে সপ্তাহের দিন0, 1, 2, … 6
%dশূন্য প্যাডেড দশমিক সংখ্যা হিসেবে মাসের দিন01, 02, 03, … 31
%bসংক্ষিপ্ত মাসের নামJan, Feb, …. Dec
%Bপূর্ণাঙ্গ মাসের নামJanuary, February, …
%mশূন্য-প্যাডেড দশমিক সংখ্যা হিসাবে মাস01, 02, 03, … 12
%yশূন্য-প্যাডেড দশমিক সংখ্যা হিসাবে শতাব্দী ছাড়া বছর00, 01, 02, … 99
%Yদশমিক সংখ্যা হিসাবে শতক সহ বছর2013, 2019, 2020, etc
%Hশূন্য-প্যাডেড দশমিক সংখ্যা হিসাবে ঘন্টা (24-ঘন্টা ঘড়ি)00, 01, 02, … 23
%Iশূন্য-প্যাডেড দশমিক সংখ্যা হিসাবে ঘন্টা (12-ঘন্টা ঘড়ি)01, 02, 03, … 12
%pলোকালের AM বা PMAM, PM
%Mশূন্য-প্যাডেড দশমিক সংখ্যা হিসাবে মিনিট00, 01, 02, … 59

Get Timezone time:
পৃথিবীর কোন অংশ বিবেচনা করা হচ্ছে তার উপর নির্ভর করে একটি টাইম জোন প্রমিত সময়ের প্রতিনিধিত্ব করে। সহজ ভাষায়, টাইমজোন একটি অঞ্চলের স্থানীয় সময়কে বোঝায়। পাইথন দিয়ে অমরা খুব সহজেই কোন একট

from datetime import datetime

import pytz

local_time = datetime.now()

print("Local Time :", local_time.strftime("%m-%d-%Y, %H:%M"))

karachi_time_zone = pytz.timezone(‘Asia/Karachi’)

karachi_time = datetime.now(karachi_time_zone)

print("Karachi Time :", karachi_time.strftime("%m-%d-%Y, %H:%M"))
 

output:

# Output
# Local Time : 09-07-2022, 10:34

# Karachi Time : 09-07-2022, 09:34
 

আবার,

_**G**_ _**et**_ _**A**_ _**ll**_ _**T**_ _**ime**_ _**Z**_ _**one**_ _**L**_ _**ist:**_ _সকল টাইম জোনের লিস্ট পাবেন এখানে_

import pytz

for each_timezone in pytz.all_timezones :

print(each_timezone)
 

Output:

# Output
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
.
.
.
US/Pacific
US/Samoa
UTC
Universal
W-SU
WET
Zulu
 

উদাহরন

Example-1:

# get current time
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print(f"Current Time = {current_time}")
 

Example-2:

# Today , Tomorrrow, Yesterday
import datetime
today = datetime.date.today()
yesterday = today – datetime.timedelta(days = 1)
tomorrow = today + datetime.timedelta(days = 1)
print(f‘Yesterday : {yesterday.strftime("%b %d , %Y")}’)
print(f‘Today : {today.strftime("%b %d , %Y")}’)
print(f‘Tomorrow : {tomorrow.strftime("%b %d , %Y")}’)
print(type(today))
 

Example-3:

from datetime import date
your_year = int(input("Enter your birth year : "))
year_diff = date.today().year – your_year
print(f"You are {year_diff} years old !")
 

Example-4:

# import datetime module from datetime
from datetime import datetime
# format DD/MM/YY H:M:S
time_list = [
    "20/05/22 02:35:20",
    "21/05/22 12:45:03",
    "22/05/22 07:35:05",
    "23/05/22 05:15:59"
]
# format the string in this format : day/month/year hours/minutes/seconds
format_style = "%d/%m/%y %H:%M:%S"
for each_date in time_list:
print(datetime.strptime(each_date, format_style))
 

Example-5:

from datetime import datetime
any_date = "March 16 1996 11:20PM"
formatting = datetime.strptime(any_date, ‘%B %d %Y %I:%M%p’)
print(formatting)
 

এসো নিজে করি

  • ইউজার থেকে তার জন্ম তারিখ নিবেন এবং তার আজকের পর্যন্ত কত বয়স হল সেটি দেখাবেন
  • ৫ মাস আগের ডেটটি প্রিন্ট করুন
  • একটি ডিজিটাল ঘড়ি বানান ; স্ত্রিপ্টটি রান করলে কনসোলে দেখাবে
  • ভোটিং সিস্টেম বানাবেন , ইউজার থেকে তার জন্ম তারিখ ( যেমন: ১৭-০৫-২০০২ ) নিবেন , এবং ইউজারটি ভোট দেয়ার উপযোক্ত বয়স হলে , ইয়েস আউটপুট এ দেখাবেন অথবা না হলে নো আউটপুট এ দেখাবেন
  • বর্তমান সময় থেকে ১ মিনিট পরে একটি কাউন্টডাউন সিস্টেম বানান। ( ৫৯, ৫৮, ৫৭ ,….,০) এভাবে দেখাবে

ইন্টারভিউ প্রশ্নোত্তর

  • timedelta() এই মেথড এর কাজ কি
  • কিভাবে আজকের ডেট ( dd-mm-yyyy ) এই Format এ বের করতে পারবো ?
  • strftime() এই মেথডটি কোন টাইপ অবজেক্ট এর উপর এপ্লাই করা যায় ?
  • strptime & strftime মধ্যে পার্থক্য কি ?
  • দিল্লির সময়ের সাথে আপনার সময়ের ব্যবধান কত হবে সেটি ঘন্টা এবং মিনিট আকারে প্রকাশ করুন