النتائج 1 إلى 3 من 3

الموضوع: التعامل مع الوقت فى الـ php , الكثير من الأسئلة ..

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450

    Exclamation التعامل مع الوقت فى الـ php , الكثير من الأسئلة ..



    السلام عليكم ...
    عندما اقوم ببرمجة نظام , اقوم بالمعتاد .. حفظ الوقت بصيغة timestamp ,عند إستدعاء الوقت أستخدم date واعطيها الصيغة التى اريدها مع التايم ستامب ...

    ولكن ... المختلف الأن .. ان النظام لديه اكثر من مستخدم من اكثر من دولة ... وحفظ المعلومات المدخلة ( بقاعدة بيانات ) من كل مستخدم مربوط بوقت الإدخال .. ( الذى يظهر امام باقى المستخدمين )
    الحل المباشر هو تحديد التايم زون date_default_timezone_set

    وهنا تبدأ الإستفسارات ...
    هذه الدالة تأخذ القيم بهذه الشكل :
    America/Chicago
    وهذه القيم كثيرة جدا ... كيف سأطلبها من المستخدم ( ولم ارى أى موقع يطلبها .. فكيف يتم الأمر ؟ ) .. وما هو الـ timezone offset ؟ ... هل يقدم وجه اخر لهذه الحسبة ام ماذا ...


    الإستفسار الثانى , ... الأن حددت التايم زوون لكل مستخدم ... ويقوم النظام بإدخال المعلومات مربوطة بوقت الإدخال الخاص به ... , عندما يرى مستخدم اخر هذه المعلومات وتاريخ حفظها ... سيظهر لديه طبقا للتايم زوون الخاص به ... اليس كذلك ؟ , وهنا المشكلة .. كيف استخدم الدالة date بتايم زوون اخر غير الإفتراضى ( date_default_timezone ) بشكل خاص مع كل تاريخ مربوط لهذه المعلومات ... ابسط مثال .. المنتديات .. إذا احد كتب موضوع فى بتوقيت امريكى مثلا ... يظهر الموضوع لى فى مصر بفارق توقيتى ...


    اتمنى ان افهم المنطق العام ... هذه المسألة ليست بالمعقدة او المتقدمة على ما اعتقد .. ولكن منطقة لم اصل إليها من قبل ... لأنى لم احتاجها سوى الأن ... ,

    شكرا لكم مقدما ...








  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    وعليكم السلام ورحمة الله وبركاته

    عملت على نظام مشابه في الأسبوع الماضي لاحد العملاء
    حيث كان المطلوب هو اظهار المقالات لكل مستخدم حسب نطاقه الزمني timezone

    وكانت طريقتي كالآتي:
    عند اضافة اي مقال من الأدمن يتم تخزين التوقيت في صورة unix_timestamp وتبعا للنطاق الزمني جرينتش GMT
    واستخدمت في ذلك الدالة gmmktime

    وفي واجهة الموقع وضعت خيار لتغيير النطاق الزمني للزائر (حيث استطعت جلب جميع النطاقات الزمنية باستخدام الدالة timezone_ identifiers_ list والتي تجلب اسم النطاق الزمني و فرقه بالساعات عن توقيت جرينتش في مصفوفة)
    بعد اختيار الزائر لنطاقه يتم تخزينه في cookie

    وعند عرض المقالات يتم عرض تاريخ المقالة اعتمادا على املعادلة التالية، طبعا في حالة اختيار الزائر لنطاق زمني خاص به:
    كود PHP:
    $user_dateline $dateline + ($_COOKIE['timezone']*60*60); 
    اتمنى ان تفيدك تجربتي
    تحياتي





    __________________
    مدونتي

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450


    شكرا لك ... هل هذه تجربتك ام انه الشئ المتبع ... , الا يوجد صيغة " إفتراضية " او اسلوب موحد إفتراضى للتعامل مع هذه الأمور ... بدأت امل من هذه اللغة ... ( هل سبق ان رأيت احد يبرمج بالـ C# , ... كل شئ معمول حسابة و بشكل منظم .. وما على المبرمج إلا تحديد إختيارات كيفية العمل ) ...


    شكرا مرة اخرى ... واتمنى ان اجد شرح متكامل لهذه الأمور ..










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض