هناك وظيفتان لتنسيق الوقت في PHP: date() وgmdate() الوصف في الوثائق الرسمية هو:
التاريخ - تنسيق التوقيت المحلي/التاريخ
gmdate - تنسيق التاريخ/الوقت بتوقيت GMT/UTC، والذي يتم إرجاعه هو Greenwich. متوسط الوقت (توقيت جرينتش).
على سبيل المثال، المنطقة الزمنية التي نحن فيها الآن هي +8، ثم الوقت الذي يعيده الخادم الذي يقوم بتشغيل البرنامج النصي التالي يجب أن يكون هكذا:
الوقت الحالي من المفترض أن يكون 2007-03-14 12:15:27
echo date( 'Ymd H:i:s', time()); الإخراج هو: 2007-03-14 12:15:27
echo gmdate('Ymd H:i:s', time()); -03-14 04:15:27
ولكن هذا فقط نتيجة تشغيل PHP ضمن Linux+Apache، وإذا تم تشغيله ضمن Windows، فستعود الوظيفتان: 2007-03-14 04:15:27.
لذلك، يجب أن نقدم طريقة متوافقة للكتابة، ونستخدم gmdate بشكل موحد، ونضبط المنطقة الزمنية الحالية يدويًا، وتم تحسين طريقة الكتابة على النحو التالي:
echo gmdate('Ymd H:i:s', time() + 3600 * 8). );
بهذه الطريقة، بغض النظر عن الوضع على Linux + يتم الحصول على النتائج الصحيحة في كل من Apache وWindows. بالطبع، هناك ميزة أخرى للكتابة بهذه الطريقة عندما يكون الموقع مخصصًا للعالم كله، لمستخدم الموقع فقط يحتاج إلى تعيين المنطقة الزمنية، وسيقوم البرنامج تلقائيًا بحساب الوقت بناءً على المنطقة الزمنية التي حددها المستخدم. يخزن وقت إصدار المعلومات في قاعدة البيانات الوقت الناتج عن الوقت الحالي () فقط المنطقة الزمنية للصين +8 هي: 14-03-2007 12:15:27، ثم يرى المستخدمون في المنطقة الزمنية لأوروبا +2 وقت إصدار هذه المعلومات هو: 14-03-2007 06:15:27، لذا فإن وقت إصدار سوف تتوافق جميع المعلومات بشكل صحيح.