یک اسکریپت پایتون بنویسید که تاریخ امروز را بهصورت YYYY-MM-DD، شماره روز سال (day of year) و تعداد ثانیههای گذشته از نیمهشب را محاسبه و چاپ کند.
3.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:23 0.0
برای حل این مسئله از ماژول استاندارد datetime در پایتون استفاده کنید: با datetime.date.today() یا datetime.datetime.now() تاریخ و زمان فعلی را بگیرید، با متد strftime تاریخ را به فرمت YYYY-MM-DD تبدیل کنید، شماره روز سال را با now.timetuple().tm_yday استخراج کنید و تعداد ثانیههای گذشته از نیمهشب را با محاسبه تفاضل بین now و شروع روز (مثلاً datetime.combine(today, datetime.time(0,0))) یا با تبدیل ساعت، دقیقه و ثانیه به ثانیه بهدست آورید؛ برای اجرای خودکار میتوانید خروجی را در فایل ذخیره یا اسکریپت را در کرون (cron) زمانبندی کنید و اگر به منطقه زمانی نیاز دارید از datetime.now(tz=...) بهره ببرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دقت بهتر در محاسبات زمانی، از datetime.now با تعیین tz استفاده کنید تا DST و تفاوتهای منطقهای درست لحاظ شوند. برای محاسبه ثانیههای گذشته از نیمهشب، ابتدای روز را با now.replace(hour=0, minute=0, second=0, microsecond=0) مشخص کنید و تفاوت با زمان فعلی را با total_seconds() بهدست آورید. برای چاپ تاریخ به فرمت YYYY-MM-DD و نیز دریافت شماره روز سال، میتوانید از now.strftime('%Y-%m-%d') یا now.date().isoformat و now.timetuple().tm_yday استفاده کنید. اگر نیاز به پشتیبانی از چند منطقه زمانی دارید، از zoneinfo یا pytz استفاده کنید تا کد شما سازگار باقی بماند.
گزارش