یک برنامه PHP بنویسید که از کلاس DateTime و تابع date_timestamp_set برای دریافت یک timestamp یونیکس (از طریق پارامتر GET یا ورودی ثابت) استفاده کند و آن را به منطقه زمانی "Asia/Tehran" تبدیل کرده و در خروجی به فرمت "Y-m-d H:i:s" نمایش دهد.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:35 0.0
برای حل مسئله یک شیء DateTime ایجاد کنید، با استفاده از تابع date_timestamp_set مقدار timestamp ورودی را روی شیء تنظیم کنید و با setTimezone منطقه زمانی را به "Asia/Tehran" تغییر دهید؛ در نهایت با متد format("Y-m-d H:i:s") رشته تاریخ و زمان را چاپ کنید. در محیط وب میتوانید از $_GET برای گرفتن پارامتر، مقدار را با intval یا یک چک ساده اعتبارسنجی کنید و در صورت نامعتبر بودن مقدار یک پیام خطا یا زمان فعلی را نمایش دهید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای امنیت ورودی، مقدار timestamp را از طریق filter_input(INPUT_GET, 'ts', FILTER_VALIDATE_INT) بررسی کنید و در صورت نامعتبر بودن مقدار، پیغامی خطا یا زمان فعلی را نشان دهید. یک شیء DateTime ایجاد کنید و با date_timestamp_set مقدار timestamp ورودی را روی آن تنظیم کنید، سپس با setTimezone(new DateTimeZone('Asia/Tehran')) منطقه زمانی را تغییر داده و با format('Y-m-d H:i:s') خروجی را چاپ کنید. توجه کنید که تغییر DST ایران ممکن است در فصول مختلف سال منجر به تفاوتی با زمان UTC بدهد. همچنین مطمئن شوید دیتابیس مناطق زمانی PHP بهروز است تا نتیجه دقیق باقی بماند.
گزارش