برگزیده های پرشین تولز

3 ساعت و نيم دروغ در زمان php

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
php-sooti.gif


چرا؟
سه ساعت و نیم
همیشه و همه جا میگویند مبدا EPOCH TIME ساعت 12:00:00 نیمه شب پنجشنبه اول ژانویه 1970 است.
من با اجرای یک کد ساده ، روی سرورهای لوکال لینوکس، ویندوز، روی سرورهای ریموت (REMOTE) لینوکس و ویندوز به این نتیجه رسیدم که ساعت 12 نبوده بلکه ساعت 3:30 دقیقه صبح بوده. یعنی 3 ساعت و نیم بعد از زمانی که گفته میشه. مطمئن هم شدم که در اثر اختلاف ساعت ما با GMT نیست.


پس دلیل چیه؟
چرا؟
 

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,478
لایک‌ها
22
من به همچین چیزی دقت نکرده بودم !!
بعدش هم همیشه تا حالا از maketime که استفاده می کنم درست می ده زمان رو ! البته از روی زمان webserver
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
همون كد ساده رو كه ميگي كاملش رو بگذار
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
اين كدها:: براي فارسي و انگليسي:
PHP:
<?php
echo jdate("l j F Y ، g:i:s A", 01); //برای فارسی
echo date("l j F Y , g:i:s A", 01); //For English
?>
در ضمن این 01 به عنوان timestamp هست. اگه ما 0 رو بذاریم تابع 0 رو به منفی تعبیر میکنه و تاریخ امروز رو به شما میده پس ما یک ثانیه بعد از شروع EPOCH TIME رو میخوایم.
اگه جزییات رو هم میخواید:
PHP:
<?php
echo jgetdate(01); // برای فارسی
echo getdate(01); //For English
?>
 

farshidkiani

کاربر تازه وارد
تاریخ عضویت
9 ژوئن 2005
نوشته‌ها
34
لایک‌ها
0
سن
35
محل سکونت
0098
مشکوک می زنه آخه اختلاف ما با ساعت بین المللی هم 3 ساعت و نیم هست...
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
اهم اهم :D

من اینو یک ماه پیش فهمیدم

دقیقاً حق با سالار است
تاریخ مبدأ PHP مساوی است با : 1970/1/1 3:30:00

فکر نکنم ربطی هم به 3:30 اختلافمون با GMT باشه چون وقتی می گیم ساعت رو چاپ کن همون ساعت GMT رو چاپ می کنه ! و تازه سرور من هم که ایرانی نیست !

موضوع همون دروغ گوییه :hmm:
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از Parsa_361 :
اهم اهم :D

فکر نکنم ربطی هم به 3:30 اختلافمون با GMT باشه چون وقتی می گیم ساعت رو چاپ کن همون ساعت GMT رو چاپ می کنه ! و تازه سرور من هم که ایرانی نیست !

موضوع همون دروغ گوییه :hmm:

آره..
منم اولش كه 3:30 رو ديدم فكرم به اختلاف زمان رفت ولي براي اينكه مطمئن بشم تا ساعت 3 شب نشستم روي هرچي سرور داشتم مال خودم مال دوستام كه اكثرشون توي آمريكا و بعضي ها توي سوئد - آلمان و كانادا بودن امتحان كردم.
همش 3:30 شد
اول ژانويه 1970 ساعت 3:30:00 قبل از ظهر.
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
دقيقا به Time Zone شما بستگي داره و اون سه ساعت و نيم به اختلاف ساعت ايران با ساعت مبدا برميگرده.

اگر Time Zone شما روي GMT +3:30 تنظيم شده باشه نتيجه
کد:
<?php
echo mktime(3, 30, 0, 1, 1, 1970);
echo "<br>" ;
echo date("l j F Y , g:i:s A" ,0) ;
?>
ميشه
کد:
0
Thursday 1 January 1970 , 3:30:00 AM


حالا Time Zone رو بذارين روي GMT
خروجي كد بالا ميشه
کد:
12600
Thursday 1 January 1970 , 12:00:00 AM


البته امكان تست روي سرور غير لوكال رو نداشتم. شما هم امتحان كنيد.
مطمئن باشين اگر اين چيزي كه شما ميگين درست بود حتما كساي ديگه اي تا حالا پيداش كرده بودن و به شماها نميرسيد!
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
احتمالا بايد تسليم بشم
ولي توي كشورهايي مثل آمريكا و آلمان ساعت سرور رو براي ايران تنظيم نميكنن! :blink:
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
مثل اینکه mazoolagh راست می گه !

ولی تو اینش موندم آخه سرورهای دیگه که وقتشونو با ایران تنظیم می کنن ؟!

آهان !!!
فهمیدم !!
2 دلیل وجود داره !!
وقتی هاست می خری کشورت رو می پرسن !
دلیل دوم هم فعلاً نمی گم (چون می ترسم ضایع شم :blush: )
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از Parsa_361 :
مثل اینکه mazoolagh راست می گه !

ولی تو اینش موندم آخه سرورهای دیگه که وقتشونو با ایران تنظیم می کنن ؟!

آهان !!!
فهمیدم !!
2 دلیل وجود داره !!
وقتی هاست می خری کشورت رو می پرسن !
دلیل دوم هم فعلاً نمی گم (چون می ترسم ضایع شم :blush: )

بگو بابا فوقش مثل من ضايع ميشه ديگه!
ولي آخه آي كيو! مگه يه سرور رو بخاطر يه نفر تغيير ميدن؟؟؟
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از sama_sally :
بگو بابا فوقش مثل من ضايع ميشه ديگه!
ولي آخه آي كيو! مگه يه سرور رو بخاطر يه نفر تغيير ميدن؟؟؟
:blush: ...
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
دختر كه نيستي خجالت ميكشي
شماره بدم خدمتتون؟؟؟؟ :D
بگو ديگه ناز نكن! :blink:
 

shankimout

Registered User
تاریخ عضویت
17 می 2004
نوشته‌ها
1,524
لایک‌ها
3
محل سکونت
ساری . . . . . . . . . . . . . . Permanently Bann
شاید هاستی که شما دارید مدریش یه آدم $%^()$%&)_@#Q$ هست ؟؟؟
 
بالا