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 : <class ‘datetime.date’>
Date
from datetime import date
some_date = date(2023,12,31)
print(some_date)
# Output 2023-12-31
datetime ক্লাস তারিখের সাথে সময় নির্ণয়ের জন্য আমরা datetime ক্লাস ব্যবহার করবো তার জন্য প্রথমে datetime ক্লাসটিকে ইম্পোর্ট করে নিবো
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
<class ‘datetime.datetime’>
“””
দুইটি সময়ের মধ্যে ব্যবধান বের করা
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 : <class ‘datetime.timedelta’>
আজকের তারিখ থেকে ১০ দিন পরের তারিখ বের করা
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: <class ‘str’>
# formatted_date type: <class ‘datetime.datetime’>
pic Date And Time
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 বা PM। AM, 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
# Local Time : 09-07-2022, 10:34
# Karachi Time : 09-07-2022, 09:34
Get All Time Zone List: সকল টাইম জোনের লিস্ট পাবেন এখানে 
import pytz
for each_timezone in pytz.all_timezones :
print(each_timezone)
# 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 মধ্যে পার্থক্য কি ?
* দিল্লির সময়ের সাথে আপনার সময়ের ব্যবধান কত হবে সেটি ঘন্টা এবং মিনিট আকারে প্রকাশ করুন