تبدیل ثانیه به ساعت و دقیقه در پایتون + مثال و کد

۱۰
۱۴۰۴/۱۰/۲۴
۹ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

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

آنچه در این مطلب می‌آموزید:
  • با کاربرد برنامه تبدیل ثانیه به ساعت و دقیقه آشنا می‌شوید.
  • روش استفاده از عملگرهای ریاضی پایتون را برای محاسبه ساعت و دقیقه و ثانیه یاد می‌گیرید.
  • با تابع divmod آشنا شده و روش استفاده از آن را برای تعریف زمان می‌آموزید.
  • با کتابخانه datetime و کلاس timedelta و روش کار با آن‌ها آشنا می‌شوید.
  • می‌آموزید که چطور با تابع strftime در ماژول time برای تبدیل ثانیه به ساعت و دقیقه کار کنید.
  • روش استفاده از کتابخانه Dateutil را برای تبدیل ثانیه به ساعت و دقیقه یاد می‌گیرید.
تبدیل ثانیه به ساعت و دقیقه در پایتون + مثال و کدتبدیل ثانیه به ساعت و دقیقه در پایتون + مثال و کد
997696

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

تبدیل ثانیه به ساعت و دقیقه با پایتون

برای تبدیل ثانیه به ساعت و دقیقه در پایتون روش‌های متنوعی وجود دارند. هدف از این کار آن است که مقدار 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

در فهرست پایین مهم ترین نکات کد بالا را توضیح داده‌ایم.

  1. کد seconds % (24 * 3600)  تضمین می‌کند که مقدار ثانیه‌ها از 24  ساعت شبانه روز بیشتر نباشد. زیرا هدف استخراج مقدار ساعت و دقیقه است، نه روز.
  2. با کمک کد seconds // 3600  مقدار ساعت موجود در ثانیه‌ها را حساب می‌کنیم.
  3. در خط ۴ از کد seconds %= 3600  برای بدست آوردن ثانیه‌های باقی‌مانده بعد از محاسبه ساعت استفاده کردیم.
  4. وظیفه کد seconds // 60  استخراج دقایق باقی مانده از بقیه ثانیه‌ها است.
  5. در خط ۶ هم با کمک کد seconds %= 60  مقدار ثانیه باقی‌مانده را بعد از محاسبه دقایق به‌دست می‌آوریم.

یادگیری با استفاده از فیلم‌های فرادرس

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

مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python – مقدماتی تا پیشرفته فرادرس
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python از مقدماتی تا پیشرفته هدایت شوید.

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

در پایین، چند مورد از فیلم‌های مربوط به آموزش زبان پایتون را معرفی کرده‌ایم.

استفاده از تابع divmod

با تابع divmod()  می‌توانیم روش کارآمدتری را برای تبدیل ثانیه به ساعت و دقیقه طراحی کنیم. دلیل کارآمدی بیشتر این روش آن است که هر دو عملیات تقسیم و محاسبه باقی‌مانده در یک خط کد انجام می‌شوند.

در کادر پایین، روش استفاده از تابع divmod()  را برای انجام همزمان تقسیم و باقی‌مانده نشان داده‌ایم.

بعد از اجرای کدهای بالا و با فرض ارسال عدد 12345  به عنوان پارامتر تابع، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

3:25:45

در فهرست پایین، بخش‌های مهم کد بالا را توضیح داده‌ایم.

  1. دستور divmod(seconds, 60)  در خروجی، تاپلی با دو عنصر برمی‌گرداند. عنصر اول دقایق و عنصر دوم ثانیه‌های باقی مانده هستند.
  2. دستور divmod(min, 60)  هم در خروجی دو عنصر برمی‌گرداند. عنصر اول ساعت‌ها عنصر دوم دقایق باقی مانده.
  3. در خط ۴، خروجی با قالب «ثانیه :دقیقه :ساعت» و از نوع رشته برگشت داده می‌شود.

استفاده از کلاس 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

در ادامه، نکات مهم نوشته شده در کدهای بالا را توضیح داده‌ایم.

  1. خط اول: قبل از نوشتن این برنامه لازم است که ماژول time در پایتون را به محیط کدنویسی خود ایمپورت کنیم. در صورت تمایل به آشنایی بیشتر با این ماژول پیشنهاد می‌کنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه بکنید.
  2. time.gmtime(seconds): این تابع عدد صحیح و مثبت داده شده را به تاپل خاصی تبدیل می‌کند. این تاپل زمان را به صورت GMT نشان می‌دهد.
  3. 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» نشان داده می‌شوند. تکه‌های مهم کد بالا را در ادامه توضیح داده‌ایم.

  1. در ابتدا کلاس relativedelta() از ماژول dateutil  ایمپورت می‌شود.
  2. تابع convert() یک عدد صحیح (مقدار کل ثانیه‌ها) دریافت می‌کند.
  3. در داخل تابع، مقدار ثانیه به relativedelta() داده می‌شود. تابع relativedelta() مقدار داده شده را به قابل زمانی مورد نظر تبدیل می‌کند.
  4. سپس خروجی به صورت «ثانیه :دقیقه :ساعت» قالب‌بندی و برگردانده می‌شود.

از خط ۸ به بعد نیز، عدد 12345  ثانیه به تابع داده شده و نتیجه در خروجی چاپ می‌شود.

استفاده از دیکشنری برای انجام محاسبات

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

در کادر پایین، روش تعریف تابع برای استفاده از دیکشنری و محاسبه زمان را نوشته‌ایم.

بعد از اجرای کدهای بالا و ارسال عدد 12345  به عنوان پارامتر ثانیه، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

03:25:45

مهم‌ترین نکات تابع بالا را در فهرست پایین، توضیح داده‌ایم.

  1. خط ۱: ابتدا تابعی را با نام convert_seconds() تعریف می‌کنیم. این تابع پارامتری به نام seconds  دریافت می‌کند.
  2. خط ۲: داخل تابع، دیکشنری units  ساخته شده است. این دیکشنری تعداد ثانیه‌های هر واحد زمان را به شکل ساعت، دقیقه و ثانیه نگه می‌دارد.
  3. خط ۳: لیست خالی به نام values  می‌سازیم.
  4. از خط ۴ تا ۵: برنامه روی دیکشنری حرکت می‌کند. برای هر واحد زمان، تعداد آن واحد از ثانیه‌ها محاسبه می‌شود.
  5. خط ۶ و ۷: بعد از آن، مقدار استفاده شده از ثانیه‌ها کم شده و عدد به‌دست‌آمده داخل لیست values  ذخیره می‌شود.
  6. خط ۸: در نهایت هم با استفاده از عناصر لیست values زمان را در قالب مورد نظر به بیرون برمی‌گرداند. خروجی تابع از نوع رشته است.

چطور با اجرای پروژه‌های پایتون مهارت‌های بیشتری بیاموزیم؟

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

در پایین، چند مورد از فیلم‌‌های آموزش پروژه‌محور زبان پایتون را معرفی کرده‌ایم.

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

مجموعه آموزش پروژه محور برنامه نویسی پایتون (Python)
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه محور برنامه نویسی پایتون هدایت شوید.

استفاده از کتابخانه Humanfriendly

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

برای استفاده از این کتابخانه باید آن را با کمک دستور «PIP» در پایتون نصب بکنید.

pip install humanfriendly

در کادر پایین، روش استفاده از کتابخانه humanfriendly  را برای تبدیل اعداد صحیح مثبت به ساختار زمانی قابل خواندن توسط انسان نشان داده‌ایم.

بعد از اجرای کدهای بالا و با فرض دادن عدد 12345  به آن به عنوان ورودی، نتیجه به شکل زیر در کنسول پایتون نمایش داده می‌شود.

3 hours, 25 minutes and 45 seconds

در پایین، روش کار کدهای بالا را نوشته‌ایم.

  1. در خط اول، ابتدا تابع format_timespan() از کتابخانه humanfriendly  وارد می‌شود.
  2. در خط سوم، متغیر seconds_passed  مقدار زمان بر حسب ثانیه را نگه می‌دارد.
  3. در خط آخر، ابتدا تابع format_timespan  این مقدار را به عبارت خوانایی برای انسان تبدیل می‌کند.
  4. سپس، نتیجه‌ی تبدیل شده در خروجی چاپ می‌شود.

جمع بندی

در این مطلب از مجله فرادرس به بررسی روش‌های مختلف تبدیل ثانیه به ساعت و دقیقه در پایتون پرداختیم. هدف، دریافت عدد برحسب ثانیه و نمایش آن در قالب استاندارد «0:00:00» است. ابتدا از روش ریاضی استفاده کردیم. در این روش با کمک محاسبات ریاضی و عملگرهای //  و %، ساعت، دقیقه و ثانیه محاسبه می‌شوند. سپس از تابع divmod() به‌عنوان روشی بهینه‌تر استفاده کرده‌ایم. این تابع، عملیات محاسبه تقسیم و باقی‌مانده را همزمان انجام می‌دهد. در ادامه کلاس datetime.timedelta  را برای تبدیل ثانیه‌ها به زمان به کار برده‌ایم. بعد از آن هم کار با روش time.gmtime  و time.strftime  را برای قالب‌بندی دقیق‌تر زمان، بررسی می‌کنیم.

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

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
GeeksforGeekssqlpey
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *