تبدیل ثانیه به ساعت و دقیقه در پایتون + مثال و کد
تبدیل ثانیه به ساعت و دقیقه در پایتون به معنای آن است که برنامه عدد صحیحی را به عنوان ثانیهها دریافت کند. سپس با انجام محاسبات ریاضی یا با کمک توابع مخصوص آن عدد را به قالب «ثانیه :دقیقه :ساعت» تبدیل بکند. بیشترین کاربرد این عملیات در زمان ثبت گزارشات و با هدف خوانایی بیشتر دادهها برای انسان انجام میشود. پایتون، زبان برنامه نویسی چندمنظوره است. بنابراین میتوان از آن برای اجرای پروژههای متنوع استفاده کرد. این زبان، پکیجهای بسیار زیادی برای انجام پروژههای مختلف دارد. در نتیجه در مواردی مانند ثبت و اعلام گزارش زمان انجام معامله، زمان باز و بسته شدن خدمات اینترنتی و غیره لازم است زمان به شکلی نمایش داده شود که برای انسان خوانا باشد.
- با کاربرد برنامه تبدیل ثانیه به ساعت و دقیقه آشنا میشوید.
- روش استفاده از عملگرهای ریاضی پایتون را برای محاسبه ساعت و دقیقه و ثانیه یاد میگیرید.
- با تابع divmod آشنا شده و روش استفاده از آن را برای تعریف زمان میآموزید.
- با کتابخانه datetime و کلاس timedelta و روش کار با آنها آشنا میشوید.
- میآموزید که چطور با تابع strftime در ماژول time برای تبدیل ثانیه به ساعت و دقیقه کار کنید.
- روش استفاده از کتابخانه Dateutil را برای تبدیل ثانیه به ساعت و دقیقه یاد میگیرید.


در این مطلب از مجله فرادرس، چند روش رایج برای تبدیل ثانیه به ساعت و دقیقه را بررسی کردهایم. ابتدا از محاسبات ریاضی ساده و بدون کمک گرفتن از توابع و کتابخانههای اختصاصی استفاده میکنیم. سپس روشهای مختلف و توابع گوناگون را بررسی خواهیم کرد.
تبدیل ثانیه به ساعت و دقیقه با پایتون
برای تبدیل ثانیه به ساعت و دقیقه در پایتون روشهای متنوعی وجود دارند. هدف از این کار آن است که مقدار n را به عنوان ثانیه تحویل بگیریم. در خروجی مقدار زمان را با فرمت درست 0:00:00 برگردانیم.
در کادر زیر، مثالی از ورودیهای داده شده و خروجی مورد نظر را نشان دادهایم.
Input : 12345
Output : 3:25:45
Input : 3600
Output : 1:00:00در فهرست پایین روشهای مختلف تبدیل ثانیه به ساعت و دقیقه در پایتون را نام بردهایم.
- رویکرد بومی «محاسبات ساده ریاضی»
- با استفاده از تابع divmod()
- با استفاده از کلاس datetime.timedelta
- با کمک تابع time.strftime()
- استفاده از کتابخانه dateutil
- با استفاده از دیکشنری برای انجام محاسبات
- با کمک کتابخانه humanfriendly

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

در کادر پایین، تابعی را برای دریافت ثانیه و تبدیل آن به فرمت 0:00:00 نوشتهایم.
بعد از اجرای کد بالا و با فرض ارسال عدد 12345 به عنوان پارامتر ثانیه، خروجی زیر در کنسول نمایش داده خواهد شد.
3:25:45در فهرست پایین مهم ترین نکات کد بالا را توضیح دادهایم.
- کد seconds % (24 * 3600) تضمین میکند که مقدار ثانیهها از 24 ساعت شبانه روز بیشتر نباشد. زیرا هدف استخراج مقدار ساعت و دقیقه است، نه روز.
- با کمک کد seconds // 3600 مقدار ساعت موجود در ثانیهها را حساب میکنیم.
- در خط ۴ از کد seconds %= 3600 برای بدست آوردن ثانیههای باقیمانده بعد از محاسبه ساعت استفاده کردیم.
- وظیفه کد seconds // 60 استخراج دقایق باقی مانده از بقیه ثانیهها است.
- در خط ۶ هم با کمک کد seconds %= 60 مقدار ثانیه باقیمانده را بعد از محاسبه دقایق بهدست میآوریم.
یادگیری با استفاده از فیلمهای فرادرس
زبان برنامه نویسی پایتون، سینتکس بسیار سادهای دارد. این مسئله آن را به یکی از پرطرفدارترین زبانها در بین افراد تازهکار و علاقهمند به برنامه نویسی تبدیل کرده است. علاوه بر این موضوع، کتابخانههای پایتون، بسیار متنوع و قدرتمند هستند. این ویژگیها باعث شدهاند پایتون در میان برنامه نویسان حرفهای و سازمانهای بزرگ کاربرد فراوانی پیدا بکند. به طور معمول، مراحل ابتدایی یادگیری زبان پایتون ساده است. اما فراگیری مهارت مربوط به تکنیکهای پیشرفته در پایتون به تمرین و تلاش بیشتری نیاز دارد. در ضمن هر کدام از این بخشها نکات و جزئیات فراوانی دارند. بنابراین بهتر است با کمک مربیان حرفهای و باتجربه آنها را یاد بگیریم.

استفاده از فیلمهای فرادرس یکی از بهترین روشها برای دسترسی به مربیان حرفهای و آموزشهای منظم و هدفمند است. بهره بردن از فیلمهای آموزشی فرادرس تاثیر زیادی در یادگیری حرفهای و رشد صحیح و سریع مهارتها دارد. فرادرس، بهترین منبع تولید فیلمهای آموزشی استاندارد و باکیفیت است. این فیلمها با کمک اساتید باتجربه، تمام نکات مدرن و جدید را یاد میدهند. در فیلمهای فرادرس از نکات ساده تا بخشهای بسیار پیشرفته مانند شبکههای عصبی و یادگیری ماشین آموزش داده شدهاند.
در پایین، چند مورد از فیلمهای مربوط به آموزش زبان پایتون را معرفی کردهایم.
- فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه + گواهینامه
- فیلم آموزش برنامه نویسی Python دوره مقدماتی + گواهینامه
- فیلم آموزش رایگان نصب پایتون در ویندوز
- فیلم آموزش برنامه نویسی پایتون پیشرفته، همراه با ارائه ترفندهای Python + گواهینامه
- فیلم آموزش کاربرد چت جی پی تی ChatGPT در برنامه نویسی پایتون، دوره مقدماتی + گواهینامه
استفاده از تابع divmod
با تابع divmod() میتوانیم روش کارآمدتری را برای تبدیل ثانیه به ساعت و دقیقه طراحی کنیم. دلیل کارآمدی بیشتر این روش آن است که هر دو عملیات تقسیم و محاسبه باقیمانده در یک خط کد انجام میشوند.
در کادر پایین، روش استفاده از تابع divmod() را برای انجام همزمان تقسیم و باقیمانده نشان دادهایم.
بعد از اجرای کدهای بالا و با فرض ارسال عدد 12345 به عنوان پارامتر تابع، خروجی زیر در کنسول پایتون نمایش داده میشود.
3:25:45در فهرست پایین، بخشهای مهم کد بالا را توضیح دادهایم.
- دستور divmod(seconds, 60) در خروجی، تاپلی با دو عنصر برمیگرداند. عنصر اول دقایق و عنصر دوم ثانیههای باقی مانده هستند.
- دستور divmod(min, 60) هم در خروجی دو عنصر برمیگرداند. عنصر اول ساعتها عنصر دوم دقایق باقی مانده.
- در خط ۴، خروجی با قالب «ثانیه :دقیقه :ساعت» و از نوع رشته برگشت داده میشود.
استفاده از کلاس datetime.timedelta
در این قسمت از مطلب برای تبدیل کردن ثانیه به ساعت و دقیقه با پایتون از کلاس timedelta استفاده میکنیم. برای دسترسی به این کلاس باید آن را از کتابخانه datetime به محیط کدنویسی ایمپورت کنیم. این کتابخانه یکی از بهترین ابزارها برای مدیریت زمان و اجرای عملیات وابسته به زمان است. در صورت تمایل به یادگیری حرفهای آن پیشنهاد میکنیم که فیلم آموزش رایگان کتابخانه Datetime در پایتون برای مدیریت زمان + گواهینامه را از فرادرس مشاهده بکنید. به منظور کمک به مخاطبان مجله، لینک دسترسی به این فیلم را در پایین نیز قرار دادهایم.
کلاس timedelta شیئی برای نمایش طول زمان میسازد. در نتیجه با کمک آن به راحتی میتوانیم تعداد زیاد ثانیه را به قالب زمانی قابل خواندن برای انسانها تبدیل بکنیم.
بعد از اجرای کدهای بالا و ارسال عدد 12345 به عنوان پارامتر ثانیه، خروجی زیر در کنسول پایتون نمایش داده میشود.
3:25:45در کادر بالا، دستور timedelta(seconds=n) به صورت خودکار ثانیههای دریافت شده را به قالب «ثانیه :دقیقه :ساعت» تبدیل میکند.

استفاده از تابع time.strftime
دراین روش از تابع time.strftime() استفاده میکنیم. این تابع، امکان کنترل بیشتر روی قالببندی زمان را در اختیار توسعهدهندگان قرار میدهد. البته قبل از آن باید از تابع time.gmtime() برای آمادهسازی مقدار زمان استفاده کنیم.
تابع time.gmtime() ثانیهها را به قالب خاصی از نوع تاپل تبدیل میکند. تابع strftime فقط زمان تعریف شده در این قالب خاص را میپذیرد.
بعد از اجرای کدهای بالا و ارسال عدد 12345 به عنوان پارامتر تابع، خروجی زیر در کنسول نمایش داده میشود.
03:25:45در ادامه، نکات مهم نوشته شده در کدهای بالا را توضیح دادهایم.
- خط اول: قبل از نوشتن این برنامه لازم است که ماژول time در پایتون را به محیط کدنویسی خود ایمپورت کنیم. در صورت تمایل به آشنایی بیشتر با این ماژول پیشنهاد میکنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه بکنید.
- time.gmtime(seconds): این تابع عدد صحیح و مثبت داده شده را به تاپل خاصی تبدیل میکند. این تاپل زمان را به صورت GMT نشان میدهد.
- time.strftime("%H:%M:%S", time.gmtime(seconds)): این کد تاپل دریافت شده را به قالب «ثانیه :دقیقه :ساعت» تبدیل میکند.
استفاده از کتابخانه Dateutil
کتابخانه dateutil هم روش بسیار مناسبی برای تبدیل کردن اعداد صحیح به ساعت، دقیقه و ثانیه فراهم کرده است. برای انجام این کار باید از تابع relativedelta() استفاده کنیم. این تابع در داخل کتابخانه dateutil تعریف شده است. البته این کتابخانه، جزو کتابخانههای استاندارد پایتون نیست. یعنی آن که برای کار با کتابخانه dateutil لازم است آن را با کمک دستور pip بر روی پایتون نصب کنیم.
pip install python-dateutilدر کادر پایین، مثال سادهای از کار با کتابخانه dateutil را برای قالببندی زمان پیادهسازی کردهایم.
بعد از اجرای کدهای بالا و ارسال عدد 12345 به عنوان پارامتر، خروجی زیر در کنسول نمایش داده میشود.
3:25:45وظیفه تابع relativedelta(seconds=n) تبدیل زمان n ثانیه به شیئی از جنس relativedelta است. سپس ساعت، دقیقه و ثانیه از این شیء استخراج شده و در قالب «H : M : S» نشان داده میشوند. تکههای مهم کد بالا را در ادامه توضیح دادهایم.
- در ابتدا کلاس relativedelta() از ماژول dateutil ایمپورت میشود.
- تابع convert() یک عدد صحیح (مقدار کل ثانیهها) دریافت میکند.
- در داخل تابع، مقدار ثانیه به relativedelta() داده میشود. تابع relativedelta() مقدار داده شده را به قابل زمانی مورد نظر تبدیل میکند.
- سپس خروجی به صورت «ثانیه :دقیقه :ساعت» قالببندی و برگردانده میشود.
از خط ۸ به بعد نیز، عدد 12345 ثانیه به تابع داده شده و نتیجه در خروجی چاپ میشود.
استفاده از دیکشنری برای انجام محاسبات
در این روش، برای تقسیم ثانیهها به واحدهای زمانی جدا از هم از دیکشنریهای پایتون استفاده میکنیم. منظور از واحدهای زمانی همان ساعت، دقیقه و ثانیه است. برنامه را به صورت تابع تعریف میکنیم. این تابع بر روی دیکشنری پیمایش کرده و مقدار هر واحد را به صورت جداگانه محاسبه و ذخیره میکند. در نهایت هم زمان را به قالب استاندارد تبدیل کرده و به بیرون برمیگرداند
در کادر پایین، روش تعریف تابع برای استفاده از دیکشنری و محاسبه زمان را نوشتهایم.
بعد از اجرای کدهای بالا و ارسال عدد 12345 به عنوان پارامتر ثانیه، خروجی زیر در کنسول پایتون نمایش داده میشود.
03:25:45مهمترین نکات تابع بالا را در فهرست پایین، توضیح دادهایم.
- خط ۱: ابتدا تابعی را با نام convert_seconds() تعریف میکنیم. این تابع پارامتری به نام seconds دریافت میکند.
- خط ۲: داخل تابع، دیکشنری units ساخته شده است. این دیکشنری تعداد ثانیههای هر واحد زمان را به شکل ساعت، دقیقه و ثانیه نگه میدارد.
- خط ۳: لیست خالی به نام values میسازیم.
- از خط ۴ تا ۵: برنامه روی دیکشنری حرکت میکند. برای هر واحد زمان، تعداد آن واحد از ثانیهها محاسبه میشود.
- خط ۶ و ۷: بعد از آن، مقدار استفاده شده از ثانیهها کم شده و عدد بهدستآمده داخل لیست values ذخیره میشود.
- خط ۸: در نهایت هم با استفاده از عناصر لیست values زمان را در قالب مورد نظر به بیرون برمیگرداند. خروجی تابع از نوع رشته است.
چطور با اجرای پروژههای پایتون مهارتهای بیشتری بیاموزیم؟
بعد از آموزش تبدیل ثانیه به ساعت و دقیقه در پایتون میتوانیم از این مهارت در پروژههای واقعی هم استفاده کنیم. به طور کل یکی از بهترین راهها برای نهادینه کردن دانشهای آموخته شده در هر رشتهای پیادهسازی پروژههای واقعی و استفاده از این دانشهاست. فرادرس برای کمک به دانشجویان و افراد علاقهمند به برنامه نویسی مجموعه کاملی از فیلمهای پروژهمحور پایتون را تولید و منتشر کرده است. فیلمهای این مجموعه در زمان پیادهسازی عملی پروژههای واقعی از مفاهیم پایه و مهارتهای پیشرفته برنامه نویسی استفاده میکنند. با مشاهده این فیلمها روش استفاده از دستورات مربوط به کار با زمان را در کنار پیادهسازی الگوریتمهای عملیاتی یاد میگیرید.
در پایین، چند مورد از فیلمهای آموزش پروژهمحور زبان پایتون را معرفی کردهایم.
- فیلم آموزش ساخت ربات تلگرام با پایتون
- فیلم آموزش پروژه محور پایتون درباره پیاده سازی بینایی ماشین با کتابخانه MediaPipe
- فیلم آموزش پروژه محور رزبری پای پیکو با میکروپایتون، برنامه نویسی کتابخانه ماژولها + گواهینامه
- فیلم آموزش ساخت چت بات در پایتون با «چت جی پی تی» ( (ChatGPT
- فیلم آموزش ساخت چت روم با سوکت نویسی در پایتون Socket Programming ،در Python
با کلیک بر روی تصویر زیر میتوانید به صفحه اصلی این مجموعه آموزشی، هدایت شده و فیلمهای پروژهمحور بیشتری را مشاهده کنید.

استفاده از کتابخانه Humanfriendly
اگر به دنبال پیدا کردن راه حلی جایگزین برای روشها بالا و به منظور تبدیل کردن ثانیه به ساعت و دقیقه در پایتون هستید، پیشنهاد میکنیم که از کتابخانه humanfriendly استفاده کنید. این کتابخانه به برنامه نویسان کمک میکند که مقادیر زمانی را به شکل مناسب و خوانا برای انسان نمایش دهند.
برای استفاده از این کتابخانه باید آن را با کمک دستور «PIP» در پایتون نصب بکنید.
pip install humanfriendlyدر کادر پایین، روش استفاده از کتابخانه humanfriendly را برای تبدیل اعداد صحیح مثبت به ساختار زمانی قابل خواندن توسط انسان نشان دادهایم.
بعد از اجرای کدهای بالا و با فرض دادن عدد 12345 به آن به عنوان ورودی، نتیجه به شکل زیر در کنسول پایتون نمایش داده میشود.
3 hours, 25 minutes and 45 secondsدر پایین، روش کار کدهای بالا را نوشتهایم.
- در خط اول، ابتدا تابع format_timespan() از کتابخانه humanfriendly وارد میشود.
- در خط سوم، متغیر seconds_passed مقدار زمان بر حسب ثانیه را نگه میدارد.
- در خط آخر، ابتدا تابع format_timespan این مقدار را به عبارت خوانایی برای انسان تبدیل میکند.
- سپس، نتیجهی تبدیل شده در خروجی چاپ میشود.
جمع بندی
در این مطلب از مجله فرادرس به بررسی روشهای مختلف تبدیل ثانیه به ساعت و دقیقه در پایتون پرداختیم. هدف، دریافت عدد برحسب ثانیه و نمایش آن در قالب استاندارد «0:00:00» است. ابتدا از روش ریاضی استفاده کردیم. در این روش با کمک محاسبات ریاضی و عملگرهای // و %، ساعت، دقیقه و ثانیه محاسبه میشوند. سپس از تابع divmod() بهعنوان روشی بهینهتر استفاده کردهایم. این تابع، عملیات محاسبه تقسیم و باقیمانده را همزمان انجام میدهد. در ادامه کلاس datetime.timedelta را برای تبدیل ثانیهها به زمان به کار بردهایم. بعد از آن هم کار با روش time.gmtime و time.strftime را برای قالببندی دقیقتر زمان، بررسی میکنیم.
در نهایت، کتابخانه dateutil و روش مبتنی بر دیکشنری به عنوان راهکارهای پیشرفتهتر و قابل گسترش معرفی شدهاند. محاسبه زمان به ساعت، دقیقه و ثانیه یکی از عملیات بسیار مفید و لازم در بیشتر برنامههای کاربردی است. برنامه نویسان پایتون برای انجام کارهای مختلف لازم دارند از این عملیات استفاده کنند. بنابراین بهتر است که با روشهای تبدیل ثانیه به عدد آشنا باشند.












