کی بهتر از خود مدرس میتونه بهت مشاوره بده؟🤔 ۳۵٪ تخفیف + یک جلسه رایگان با خود مدرس🔥
۰ ثانیه
۰ دقیقه
۰ ساعت
۳۳ دیدگاه نظر عبدالرضا مولایی
آموزش کار با کتابخانه datetime در پایتون
آموزش کار با کتابخانه datetime در پایتون

یکی از مهم‌ترین مزایای زبان برنامه‌نویسی پایتون، وجود داشتن کتابخانه‌های (ماژول‌ها) غنی و کاربردی در این زبان است. پایتون از معدود زبان‌های برنامه‌نویسی است که در هر زمینه‌ی کاری، کتابخانه‌ای مفید برای آن وجود دارد. یادگیری کتابخانه‌های مختلف پایتون، کمک شایان توجه‌ای در پیشرفت برنامه‌نویسی شما خواهد داشت. در این مقاله قصد داریم کار با کتابخانه datetime در پایتون را با چند برنامه‌ی مختلف، به شما آموزش دهیم. کتابخانه‌ی datetime یکی از کتابخانه‌های مهم پایتون، است. اگر علاقه‌مند به این موضوعات هستید، در ادامه با ما همراه باشید.

برنامه‌ی اول

برای اولین برنامه یک مثال ساده می‌آوریم و برنامه‌ای می‌نویسیم که تاریخ اکنون را به صورت مقادیر جداگانه سال، ماه، روز، ساعت، دقیقه و ثانیه دریافت کند و در پایان با سلیقه‌ی خود چاپ می‌کنیم.

برای شروع کار با کتابخانه datetime در پایتون برای این برنامه و سایر برنامه‌هایی که خواهیم نوشت، ابتدا باید با دستور import کتابخانه‌ی datetime را در ابتدای برنامه‌ها وارد ‌کنیم. به این صورت:

import datetime

در ادامه باید تاریخ اکنون را به دست آوریم. برای این منظور از تابع today() در کلاس datetime استفاده می‌کنیم. به این صورت:

import datetime
now = datetime.datetime.today()
...

حالا با استفاده از متغیر now تمامی محتویات آن را به صورت زیر، جداگانه دریافت می‌کنیم:

...
now = datetime.datetime.today()
mm = str(now.month)
dd = str(now.day)
yyyy = str(now.year)
hour = str(now.hour)
mi = str(now.minute)
ss = str(now.second)
...

هر کدام از متغیرهای بالا، به ترتیب معرف سال، ماه، روز، ساعت، دقیقه و ثانیه می‌شود. در انتها نیز با استفاده از دستور print خروجی مورد نظر خود را به چاپ می‌رسانیم.

print (mm + "/" + dd + "/" + yyyy + " " + hour + ":" + mi + ":" + ss)

برنامه کامل و یک جای ما به همراه خروجی آن، به صورت زیر است:

import datetime
now = datetime.datetime.today()
mm = str(now.month)
dd = str(now.day)
yyyy = str(now.year)
hour = str(now.hour)
mi = str(now.minute)
ss = str(now.second)
print (mm + "/" + dd + "/" + yyyy + " " + hour + ":" + mi + ":" + ss)

6/16/2020 12:23:27

در ادامه‌ی این مقاله خواهیم دید، چگونه با نوشتن یک خط کد، می‌توانیم خروجی مورد نظر خود را برای قالب تاریخ داشته باشیم.

برنامه دوم

اولین برنامه‌ی ما، برنامه‌ای خواهد بود که سن کاربر را از ورودی دریافت کرده و سال تولد او را به میلادی چاپ می‌کند.

کتابخانه‌ی datetime را در ابتدا وارد می‌کنیم.

import datetime

برای پیدا کردن سال تولد کاربر از روی سن او، باید سن را از سالی که در آن هستیم، کم کرده، تا سال تولد را به دست آوریم. در کتابخانه‌ی datetime، با استفاده از تابع now() در کلاس datetime آن، می‌توانیم تاریخ و ساعتی که در آن هستیم را بگیریم. پس در اینجا تاریخ و ساعت را در یک متغیر ذخیره می‌کنیم. این‌گونه:

import datetime
now = datetime.datetime.now()
...

اگر اکنون متغیر now را با دستور پرینت اجرا کنیم، خروجی ما به صورت زیر است:

  2020-06-15 22:59:03.274304

ما به این تاریخ و ساعت کامل نیاز نداریم و فقط سال مورد نظر را باید داشته باشیم. برای این کار می‌توانیم با استفاده از صفت (attribute) year فقط سال را دریافت کنیم. پس در ادامه‌‌ی نوشتن برنامه، سن را از کاربر دریافت می‌کنیم. به این صورت:

import datetime
now = datetime.datetime.now()
age = float(input('What is your age? '))
...

اکنون فقط کافی است سالی که در آن هستیم را از سن کم کنیم تا سال تولد به دست آید. همان‌طور که گفتیم برای داشتن سال، از صفت year استفاده می‌کنیم. به این صورت:

...
year_born =  int(now.year - age)
...

در آخر برای چاپ جواب، باید متغیر year_born  را با استفاده از تابع print() در خروجی چاپ کنیم. به این شکل:

...
year_born =  int(now.year - age)
print ("Awesome! you were born in ", year_born)

کد کامل ما به صورت زیر است. اگر سن ورودی را 25 وارد کنیم، خروجی کد را در ادامه مشاهده کنید.

import datetime
now = datetime.datetime.now()
age = float(input('What is your age? '))
year_born =  int(now.year - age)
print ("Awesome! you were born in ", year_born)

What is your age? 25 Awesome! you were born in  1995

برنامه سوم

برای برنامه‌ی سوم برنامه‌ای خواهیم نوشت که تاریخ روز را به شکلی که دوست داریم، به نمایش می‌گذارد.

برای این برنامه نیز، کتابخانه‌ی datetime را در ابتدای کد وارد می‌کنیم. می‌توانیم با استفاده از دستور as نام کتابخانه را به شکل دلخواه خود در بیاوریم. به این صورت:

import datetime as dt
...

این بار با استفاده از تابع today() در کلاس date تاریخ روز را دریافت می‌کنیم.

import datetime as dt
today_date = dt.date.today()
...

اگر اکنون متغیر today_date را چاپ کنیم ، خروجی ما به صورت زیر است:

2020-06-16

همان‌طور که در برنامه اول وعده دادیم نوبت آن است که قالب دلخواه خروجی خود را بدون کد اضافه بنویسیم. برای این منظور که تاریخ را به شکل مورد نظر خود با یک خط کد، چاپ کنیم، از تابع strftime() کمک می‌گیریم. به این صورت:

print(today_date.strftime("The Current Date is :\n\n%A %B %d, %Y"))

برای آشنایی بیشتر با سایر قالب‌بندی‌های تابع strftime، مقاله‌ی Python's strftime directives را مشاهده کنید.

می‌توانید در زیر برنامه‌ی کامل شده و نیز خروجی آن را مشاهده کنید.

import datetime as dt
today_date = dt.date.today()
print(today_date.strftime("The Current Date is :\n\n%A %B %d, %Y"))

Tuesday June 16, 2020

برنامه چهارم

می‌خواهیم برنامه‌ای بنویسیم که از تاریخ که شامل سال و ماه و روز می‌شود، جستجو کند و تاریخ‌هایی که به صورت Palindrome است را برای ما پیدا کرده و چاپ کند. به عنوان مثال: 11.02.2011

این بار نیز کتابخانه‌ی datetime را با روشی دیگر که تمام کلاس‌ها در آن import می‌شوند وارد می‌کنیم. به صورت زیر:

from datetime import *

در ادامه ما از تاریخ 01.01.1900 تا 31.12.2020 را جستجو می‌کنیم. پس به این صورت مقادیر را وارد می‌کنیم:

from datetime import *
start = "01.01.1900"
end = "31.12.2020"
...

همان‌گونه که مشاهده می‌کنید، تاریخی که ما نوشتیم یک رشته محسوب شده و باید به قالب تاریخ در آوریم. برای این منظور از تابع strptime() در کلاس datetime استفاده می‌کنیم. به این صورت:

...
start = "01.01.1900"
end = "31.12.2020"
startd = datetime.strptime(start, "%d.%m.%Y")
endd = datetime.strptime(end, "%d.%m.%Y")
...

اکنون وقت آن است با یک حلقه‌ی تکرار for محدوده‌ی تاریخی مورد نظر را پیمایش کرده و Palindrome تاریخ‌ها را پیدا کنیم. اما قبل از حلقه‌ی تکرار می‌توانیم یک جمله چاپ کنیم که نشان دهد، خروجی ما چیست. محدوده‌ی حلقه‌ی ما از صفر تا مدت روزهای بین دو تاریخ است. به این صورت:

...
startd = datetime.strptime(start, "%d.%m.%Y")
endd = datetime.strptime(end, "%d.%m.%Y")
print("Palindrome dates:")
for i in range((endd-startd).days):
...

در داخل حلقه، با استفاده از تابع timedelta یک روز به تاریخ شروع خود اضافه می‌کنیم. به صورت زیر:

...
print("Palindrome dates:")
for i in range((endd-startd).days):
    startd += timedelta(days = 1)
...

اگر بخواهیم تاریخ را با برعکس خودش مقایسه کنیم، باید به صورتی باشد که هیچ علامت و فاصله‌ای نداشته باشد. برای این منظور از تابع strftime() استفاده می‌کنیم. به این صورت:

...
print("Palindrome dates:")
for i in range((endd-startd).days):
    startd += timedelta(days = 1)
    dstr = datetime.strftime(startd, "%d%m%Y")
...

حال برای به دست آوردن خواسته‌ی برنامه، باید با یک if تاریخ را با برعکس خودش مقایسه کرده و اگر شرط برقرار بود، آن را چاپ کند. به این صورت:

...
dstr = datetime.strftime(startd, "%d%m%Y")
if dstr == dstr[::-1]:
    print(dstr[:2] + "." + dstr[2:4] + "." + dstr[4:])
...

برنامه‌ی مورد نظر ما نوشته شد. کد کامل و یک جای برنامه و همچنین خروجی برنامه را می‌توانید در زیر ببینید:

from datetime import  *
start = "01.01.1900"
end = "31.12.2020"
startd = datetime.strptime(start, "%d.%m.%Y")
endd = datetime.strptime(end, "%d.%m.%Y")
print("Palindrome dates:")
for i in range((endd-startd).days):
    startd += timedelta(days = 1)
    dstr = datetime.strftime(startd, "%d%m%Y")
    if dstr == dstr[::-1]:
        print(dstr[:2] + "." + dstr[2:4] + "." + dstr[4:])

Palindrome dates: 10.02.2001 20.02.2002 01.02.2010 11.02.2011 21.02.2012 02.02.2020

برنامه پنجم

قصد داریم برنامه‌ای بنویسیم که تاریخی را از ورودی دریافت کند و تعداد روزهای زندگی یک فرد تا آن تاریخ، را مشخص و در خروجی چاپ کند. اگر فرد تا آن تاریخ به دنیا نیامده باشد، پیغام مناسبی چاپ کند.

در این برنامه ما یک تاریخ به عنوان سال تولد یک فرد داریم (به عنوان مثال: 24/06/1994) در ادامه باید تاریخی به میلادی از ورودی دریافت کنیم تا اگر او تا این تاریخ به دنیا آمده باشد، تعداد روزهای زندگی او تا آن تاریخ را چاپ کند. در غیر این صورت پیغام "در این تاریخ هنوز متولد نشده‌اید" را چاپ کنیم.

طبق برنامه‌های قبلی، کتابخانه‌ی datetime را import می‌کنیم.

import datetime as dt

در ادامه تاریخ تولد را در متغیری ذخیره می‌کنیم و سپس با دستور input تاریخ مد نظر کاربر را دریافت می‌کنیم. برای آن که قالبی استاندارد برای دریافت تاریخ داشته باشیم، قالب تاریخ ورودی را برای کاربران به صورت مثال می‌آوریم. به صورت زیر:

import datetime as dt
year_born =  dt.date(1982,2,14)
input_year = input('Enter your Date:(e.g. 1990.05.11) ')
...

حال برای آن که تاریخ ورودی را از رشته تبدیل به فرمت تاریخ کنیم همانند برنامه قبل از تابع strptime() استفاده می‌کنیم. توجه داشته باشید به مانند قالبی که رشته تاریخ را دریافت می‌کنید، ترتیب سال و ماه و روز را در تابع strptime مشخص کنید. به این صورت:

...
input_year = input('Enter your Date:(e.g. 1990.05.11) ')
syear = dt.datetime.strptime(input_year, "%Y.%m.%d")
...

اکنون باید تاریخ داده شده را از تاریخ تولد کم کنیم و حاصل را در متغیری ذخیره کنیم. به دلیل اینکه تابع strptime() تاریخ و زمان را خروجی می‌دهد، ما با کمک تابع date فقط تاریخ را فیلتر می‌کنیم. با کمک صفت days خروجی ما، فقط مقدار روزها را نمایش می‌دهد.

...
year_born =  dt.date(1982,2,14)
input_year = input('Enter your Date:(e.g. 1990.05.11) ')
syear = dt.datetime.strptime(input_year, "%Y.%m.%d")
days_life = (syear.date()- year_born).days
...

در انتها ما با یک شرط if-else متغیر days_life را بررسی کرده و اگر مقدار آن کوچکتر مساوی صفر باشد، پیغام "در این تاریخ هنوز متولد نشده‌اید" را به او می‌دهیم و در غیر این صورت مقدار روزهای به دست آمده را چاپ می‌کنیم. به این شکل:

...
days_life = (syear.date()- year_born).days
if days_life <= 0:
    print('You were not born on this date.')
else:
    print('It\'s been {} days from your date of birth to input date'.format(days_life))

این برنامه نیز کامل شد و شما می‌توانید کد یک جا و کامل آن را در زیر مشاهده کنید. خروجی برنامه را نیز در صورتی که تاریخ ورودی صحیح باشد، در ادامه ببینید.

import datetime as dt
year_born =  dt.date(1982,2,14)
input_year = input('Enter your Date:(e.g. 1990.05.11) ')
syear = dt.datetime.strptime(input_year, "%Y.%m.%d")
days_life = (syear.date()- year_born).days
if days_life <= 0:
    print('You were not born on this date.')
else:
    print('It\'s been {} days from your date of birth to input date'.format(days_life))

Enter your Date (e.g. 1990.05.11): 2020.06.16 It's been 14002 days from your date of birth to input date

جمع‌بندی:

سعی کردیم با چند برنامه‌ی کوتاه و مختصر، کار با کتابخانه datetime در پایتون را به شما آموزش دهیم. این تنها بخش کوچکی از توانایی‌های این کتابخانه، به شمار می‌آید و شما می‌توانید برای تمرین و یادگیری بیشتر، با سایر کلاس‌ها و توابع مهم این کتابخانه کار کنید. کتابخانه‌ها در پایتون، جذاب‌ترین و کاربردی‌ترین امکانی است که پایتون و سایر برنامه‌نویسان به صورت عمومی در اختیار همگان قرار داده‌اند تا از کارهای تکراری پرهیز شود. یک برنامه‌نویس حرفه‌ای، بیشترین پیشرفت خود را مدیون آشنایی و شناخت انواع کتابخانه‌ها است. پس شما نیز، برای موفقیت در برنامه‌نویسی، کتابخانه‌های مهم پایتون را بشناسید. امیدواریم مطالب نوشته شده برای شما مفید واقع شود. اگر در این مورد سوال یا نظری داشتید خوشحال می‌شویم که با ما و کاربران سون لرن به اشتراک بگذارید.

اگر به یادگیری بیشتر در زمینه‌ی برنامه نویسی پایتون علاقه داری، یادگیری زبان پایتون بسیار ساده است. و با شرکت در دوره‌ی آموزش پایتون توسعه وب در آینده می‌تونی اپلیکیشن موبایل و دسکتاپ بسازی و وارد حوزه‌ی هوش مصنوعی هم شوی.
۳۳ دیدگاه
ما همه سوالات و دیدگاه‌ها رو می‌خونیم و پاسخ میدیم
Mahbod ۲۲ آذر ۱۴۰۲، ۱۲:۳۴

برنامه ای بنویسید که دو تاریخ را به صورت tuple ورودی بگیرد و تعداد روز بین ان دو را چاپ کند(مثال:(2014,7,11)و(2014,72) دو ورودی هستند و خروجی 9 روز می‌باشد) ممنون میشم حل کنید

نازنین کریمی مقدم ۰۹ دی ۱۴۰۲، ۱۲:۲۱

درود با استفاده از لینک زیر میتونید تاپل رو به دیت آبجکت تبدیل کنید و بعد از موارد توضیح داده شده فاصله زمانی رو حساب کنید. https://stackoverflow.com/questions/32211300/tuple-to-datetime-object

hossein ۲۰ آذر ۱۴۰۲، ۱۵:۳۷

سلام میخواستم از شما بپرسم که اگه بخوام بین کدهام در پایتون یک فاصله ی زمانی بزارم یعنی بعد از چند ثانیه کد بعدی اجرا بشه از چه کدی باید استفاده کنم ؟

نازنین کریمی مقدم ۲۲ آذر ۱۴۰۲، ۱۱:۴۵

درود راه‌های مختلفی برای این کار وجود داره برای مثال میتونید این تاپیک رو بررسی کنید: https://stackoverflow.com/questions/492519/timeout-on-a-function-call

Zahra ۱۶ آبان ۱۴۰۲، ۱۹:۴۱

سلام.. چجوری برنامه بنویسیم که شماره ماه شمسی را گرفته و تعداد روزهایش را نمایش دهد

نازنین کریمی مقدم ۲۳ آبان ۱۴۰۲، ۲۰:۴۰

درود اگر بخواید دستی ماه رو بدید میتونید از switch-case استفاده کنید. در غیر این صورت بهتره از کتابخانه jdatetime استفاده کنید که مختص جلالی (تاریخ شمسی) هست.

amirali ۰۸ مهر ۱۴۰۲، ۱۵:۵۵

ببخشید ما میتونیم برنامه ای بنویسیم با دیت تایم که سال میلادی را کاربر وارد کند و ان تبدیل ب شمسی کند

نازنین کریمی مقدم ۲۴ مهر ۱۴۰۲، ۱۰:۴۱

درود بله اینکار با پایتون شدنی هست. میتونید از این تاپیک کمک بگیرید: https://stackoverflow.com/questions/29654536/convert-gregorian-christian-date-to-persian-date-and-vice-versa-in-python

۲۸ اسفند ۱۴۰۱، ۰۷:۰۴

سلام.میخاستم برنامه ای بنویسیم که مثلان وقتی برنامه را ران کردیم همون تایم ساخت برنامه رو نشونمون بده ودیگه تایم را تعقییر نده(منظورم اینه که تایم ساخت رو نشونمون بده حتی اگه برنامه رو هم دوباره ران کردیم هنوز اون تایم رو نشونمون بده)

نازنین کریمی مقدم ۲۸ اسفند ۱۴۰۱، ۰۸:۱۵

درود زمان رو در شروع کار بگیرید و در یک متغیر بریزید. بعد از اون هر زمان خواستید میتونید اون متغیر رو چاپ کنید تا تایم ثبت شده رو بهتون بده.

۲۳ مرداد ۱۴۰۱، ۱۴:۵۸

سلام وقتتون بخیر میخواستم بپرسم چطور میتونیم با گرفتن سال تولد افراد سن اون‌ها رو در پایتون محاسبه کنیم ؟ ممنون میشم به سوالم پاسخ بدید ??

نازنین کریمی مقدم ۲۴ مرداد ۱۴۰۱، ۰۵:۱۹

درود چندتا کامنت پایینتر در این مورد صحبت کردیم بی زحمت بررسی بفرمایید.

۲۰ خرداد ۱۴۰۱، ۱۵:۳۴

عالی بود

۰۹ فروردین ۱۴۰۱، ۰۹:۵۳

سلام اگر بخواهیم دو رقم آخر سال رو نمایش بده چطوری بنویسیم؟

نازنین کریمی مقدم ۰۹ فروردین ۱۴۰۱، ۱۴:۵۳

درود راه‌های زیادی داره اما یجایی اون بالا تو مقاله چنین کدی رو داریم: <code>print(dstr[:2] + "." + dstr[2:4] + "." + dstr[4:])</code> این میاد تاریخ رو به صورت کامل نشون میده و مشخصه که dstr شامل دو کاراکتر برای روز، دوتا برای ماه و مابقی برای سال هست. حالا برای اینکه فقط دورقم آخر سال رو نشون بده، کافیه بنویسید: dstr[6:]

۲۲ آذر ۱۴۰۰، ۲۱:۲۸

سلام من میخوام یه برنامه طراحی کنم که ماه و روز تولد کاربر رو بگیره و هر سال تو اون تاریخ یه پیامک یا یه ایمیل برای کاربر بفرسته میتونید راهنمایی کنید باید چیکار کنم؟!؟

نازنین کریمی مقدم ۲۳ آذر ۱۴۰۰، ۰۶:۲۵

درود اول اینکه اطلاعات کاربر رو میگیرید و ترجیحا به میلادی هم تبدیل کرده و بعد در یک فایل یا دیتابیس ذخیره میکنید. دوم هرروز باید با استفاده از تابع now() در کلاس datetime آن، تاریخ رو به میلادی گرفته و روز و ماهش رو مقایسه میکنید با تاریخ کاربر در آخر اگر یکی بود، پیامک یا ایمیل رو میفرستید. (با کتابخانه هایی مثل SinchSMS و...)

حسین ۱۲ آبان ۱۴۰۰، ۱۴:۰۵

برنامه ای که یک عدد از کاربر بگیرد و بگوید در چه ماهی و چه روزی هستیم؟ این برنامه هم با این دستور میشه نوشت؟

Nazanin KarimiMoghaddam ۱۴ آبان ۱۴۰۰، ۱۹:۳۴

درود در کتابخانه‌ی datetime، با استفاده از تابع now() در کلاس datetime آن، می‌توانیم تاریخ و ساعتی که در آن هستیم را به میلادی بگیریم. اگر به شمسی بخواهید هم یک لایه تبدیل به تاریخ شمسی دارید که چندتا کامنت پایینتر راجبشون توضیح دادم. پاینده باشید.

کاربر سایت ۱۷ مهر ۱۴۰۰، ۱۵:۵۶

سلام وقتتون بخیر چجوری میتونیم سن یک نفر رو به سال محاسبه کنیم

نازنین کریمی مقدم ۱۸ مهر ۱۴۰۰، ۱۹:۲۸

درود اول یک عدد رو از کاربر دریافت میکنید که سال تولدش هست. بعد با این کتابخانه سال فعلی رو تو یه متغیر میریزید و نهایتا دوتا سال رو از هم کم میکنید تا سن فرد بدست بیاد.

علیرضا ۲۱ اسفند ۱۳۹۹، ۰۸:۲۴

برنامه بنویسید که تاریخ تولد شما به شمسی را دریافت کند مشخص کند چند سال، ماه و روز تا زمان حال از آن گذشته است؟

نازنین کریمی مقدم ۲۶ اسفند ۱۳۹۹، ۱۰:۱۹

درود. جواب هر دو سوالتون استفاده از تقویم جلالی هست که لینک شون در چند کامنت پایین‌تر گذاشتم.

علیرضا ۲۱ اسفند ۱۳۹۹، ۰۸:۲۳

برنامه ای بنویسید که تاریخ شمسی فعلی را چاپ کند؟

محمدجواد ۱۶ بهمن ۱۳۹۹، ۱۷:۱۶

سلام عالی بود لطفا آموزش pandas_jalali رو هم بزارید

علی ۰۶ آبان ۱۳۹۹، ۱۵:۵۹

با عرض سلام: چطور میشه در کتابخانه pandas در یک dataframe دو ستون که به شمسی است رو مثل تاریخ میلادی کار کرد مثلا زمان بین تاریخ‌ها رو بدست اورد

نازنین کریمی مقدم ۰۷ آبان ۱۳۹۹، ۰۸:۴۱

سلام. برای کار با تقویم جلالی باید از کتابخانه‌های دیگری استفاده کنید. مانند: <a href="https://pypi.org/project/pandas-jalali/" target="_blank" rel="noopener noreferrer nofollow ugc"> pandas_jalali</a> یا <a href="https://pypi.org/project/jdatetime/" target="_blank" rel="noopener noreferrer nofollow ugc">jdatetime</a> یا <a href="https://pypi.org/project/persiantools/" target="_blank" rel="noopener noreferrer nofollow ugc">persiantools</a> پیشنهاد میکنم از persiantools استفاده کنید. توابع کاملتری داره و اگر صفحه ای که لینک کردم رو مطالعه کنید، چگونگی کار با دو تاریخ و محاسبه دوره زمانی رو هم با مثال توضیح داده.

دانا ۱۱ شهریور ۱۳۹۹، ۱۳:۲۶

سلام وقت شما بخیر ببخشید سوالی داشتم از حضورتون وقتی از datetime برای محاسبه زمان اموزش مدل یادگیریمون استفاده میکنیم اون زمانی که در خروجی میده بر حسب چه واحدیه؟؟ ثانیه؟ نانو ثانیه؟؟ میکرو ثانیه؟ چیه؟ کدم: #Training and prediction t0 = time.time() adaboost = adaboost.fit(x_train, y_train) randomforest = randomforest.fit(x_train, y_train) voting = voting.fit(x_train, y_train) t1 = time.time() total = t1-t0 print('time:', total) time: 2.3944509029388428 ممنون میشم راهنمایی بفرمایید

نازنین کریمی مقدم ۰۲ مهر ۱۳۹۹، ۰۸:۳۶

درود. time.time برحسب ثانیه هست و مدت زمان بین هر دوره تناوب یا همون epoch در الگوریتم رو برمیگردونه.

علی بادپروا ۱۹ مرداد ۱۳۹۹، ۰۸:۳۴

سلام آقای مولایی می‌تئنید کمک کنید برنامه‌­ای بنوسید که با استفاده از کلاس کتابخانه datetime در پایتون سن یک فرد را بدهد. در صورتی که تاریخ ورودی درست نبود، کلمه‌ی WRONG را در خروجی چاپ کند. فرمت تاریخ به صورت yyyy/mm/dd می‌باشد. (به طور نمونه در صورتی که برای ماه 15 را وارد کند به دلیل آنکه تنها 12 ماه داریم. در خروجی باید WRONG چاپ کند. همین موضوع در مورد تعداد روز نیز صدق می‌کند و حداکثر 31 می‌باشد) توجه: ورودی و خروجی نمونه‌ی زیر مربوط به اجرای برنامه در تاریخ 2019/02/01 است. ورودی نمونه: 1995/02/03 خروجی نمونه: 24

نازنین کریمی مقدم ۰۲ مهر ۱۳۹۹، ۰۸:۴۸

سلام. کار شما دو مرحله داره: 1. کارکردن با استرینگ ورودی و شکستن آن به سال - ماه - روز 2. محاسبه سن براساس این اطلاعات اول <a href="https://www.geeksforgeeks.org/python-program-to-calculate-age-in-year/" target="_blank" rel="noopener noreferrer nofollow ugc">این لینک</a> رو ببینید توش به طور کامل استفاده از این کتابخونه برای محاسبه سن رو توضیح داده. باز اگه جایی رو متوجه نشدید بگید توضیح بدم. حالا کاری که باید بکنید اینه که ورودی تاریخ رو با split بشکونید تا مقدار سال و ماه و روز رو به صورت جدا بدست بیارید. رو اینا شرط بذارید که مثلا اگر ماه 7 تا 12 بود، روز میتونه حداکثر 30 باشه و اگر این قانون رو نقض کرد، چاپ کنه: WRONG بعد اگه همه مقادیر مجاز بودند، مثلا در راه حل دوم، تو تابع محاسبه سن ازشون استفاده کنید.

امیرمهدی ۲۹ خرداد ۱۳۹۹، ۱۶:۲۹

خیلی ممنون واقعا لذت بردم بسیار کامل و مفید

عبدالرضا مولایی ۳۰ خرداد ۱۳۹۹، ۰۷:۱۴

ممنون شما لطف دارین.. خوشحالیم که مقاله براتون مفید واقع شده

  • برنامه‌ی اول
  • برنامه دوم
  • برنامه سوم
  • برنامه چهارم
  • برنامه پنجم
اشتراک گذاری مقاله در :