PDA

View Full Version : گفتگو: مشکل در محاسبه زمان با php



mohammad.mm540
یک شنبه 27 دی 1394, 18:54 عصر
سلام دوستان من کدی نوشتم به شرح زیر:
$year = time() + (90 * 12*30*24*60*60);
echo date(Y,$year);
همانگونه که میبینید برابر این کد باید تایم الان بعلاوه 90سال بشه البته به ثانیه و سپس توسط تابع. Date سال عددی اون که باید بشه حدود 2106 اکو شه ولی نميتونه این را محاسبه کنه یعنی قادر به محاسبه سال 2038 به بعد نیست من از ویندوز 32 بیتی و نرم افزار xampp استفاده میکنم لطفا راهنمایی کنید؟؟؟

Unique
یک شنبه 27 دی 1394, 19:48 عصر
دوست عزیز ، timestamp یک Signed Integer هست و بازه ش مشخصه ، پس تا همون سال ۲۰۳۸ را بیشتر نمیتونه مقدار بگیره و توی سایت PHP هم نوشته و ربطی هم به ۳۲ بیت بودن ویندوز شما نداره.


The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer). However, before PHP 5.1.0 this range was limited from 01-01-1970 to 19-01-2038 on some systems (e.g. Windows).

mohammad.mm540
یک شنبه 27 دی 1394, 20:54 عصر
دوست عزیز ، timestamp یک Signed Integer هست و بازه ش مشخصه ، پس تا همون سال ۲۰۳۸ را بیشتر نمیتونه مقدار بگیره و توی سایت PHP هم نوشته و ربطی هم به ۳۲ بیت بودن ویندوز شما نداره.


The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer). However, before PHP 5.1.0 this range was limited from 01-01-1970 to 19-01-2038 on some systems (e.g. Windows).

دوست عزیز یعنی هیچ راهی نیست که با php بشه این تاریخ را محاسبه کرد signed integer یعنی چه آیا میشه محدودیت اون را از بین برد لطفا راهنمایی کنید مرسی

Unique
سه شنبه 29 دی 1394, 03:35 صبح
دوست عزیز یعنی هیچ راهی نیست که با php بشه این تاریخ را محاسبه کرد signed integer یعنی چه آیا میشه محدودیت اون را از بین برد لطفا راهنمایی کنید مرسی
هر نوع داده عددی بازه داره !\
توضیح بدین دقیقا میخواین چیکار کنین ! تا حالا ندیدم کسی بخواد آینده را تا این اندازه حساب کنه !

arash_fa
سه شنبه 29 دی 1394, 16:49 عصر
$date = new DateTime(date('Y-m-d'));$date->modify('+90 year');echo $date->format('Y-m-d');