كيفية الحصول على الطابع الزمني الصحيح مع المعلمة is_dst في PHP؟

StackOverflow https://stackoverflow.com/questions/696552

  •  22-08-2019
  •  | 
  •  

سؤال

ونحن على خلق طابع زمني يونيكس مع mktime طريقة العطاء التالية السمات:

print_r(mktime(0,0,0,3,1,2009));
print_r(mktime(null,null,null,3,1,2009) / 60 / 60 / 24) . "days");`

وهذا يخلق نتيجة

1235862000

14303.958333333 days

وهذا ينبغي أن يكون 14304 يوما. المشكلة في هذه الحالة هي ساعة فصل الشتاء. يمكنك استخدام المعلمة is_dst، وعندما نستخدم 0 (الافتراضي -1) وهذا يعمل في بعض الأحيان إعطاء بشكل صحيح 14304 أيام نتيجة لذلك.

ولكن في بعض الأحيان وهذا يعطي المشكلة التالية:

<اقتباس فقرة>   

ومعايير صارمة: mktime () [function.mktime]: تم إهمال المعلمة is_dst

وليس لدي أي فكرة عما يعنيه وما يمكنني القيام به حيال ذلك. أي فكرة شخص ما؟ لأن ساعة الشتاء يسبب وجع الرأس الرهيب ....

هل كانت مفيدة؟

المحلول

نصائح أخرى

date("I", time());

وسوف اعطيكم 1 إذا الصيفي و0 إذا كان لا.

ومن صفحة دليل فب:

و"إن كل دعوة إلى وظيفة الوقت / التاريخ تولد E_NOTICE إذا كانت المنطقة الزمنية غير صالحة، و / أو رسالة E_STRICT في حالة استخدام إعدادات النظام أو متغير البيئة TZ انظر أيضا <لأ href =" HTTP: //php.net/manual/en/function.date-default-timezone-set.php "يختلط =" نوفولو noreferrer "> date_default_timezone_set () "

وهذا ربما يعني أنك يجب أن تستخدم date_default_timezone_set () سابقا وتخطي المعلمة is_dst

scroll top