السلام عليكم
كل عام و انتم مبرمجين :)
بالنسبة لunix time سنواجه معها مشاكل في السنوات القادمة.. حيث أنها تعد الثواني من 1970 و سنواجه مشكلة مع معالجات ال32 بت في 2038
أما بالنسبة للوقت datatime فيصعب التعامل معه في بعض النواحي
الكلام أنا أخذته من
في نهاية الصفحة:
What happens on January 19, 2038?
On this date the Unix Time Stamp will cease to work due to a 32-bit overflow. Before this moment millions of applications will need to either adopt a new convention for time stamps or be migrated to 64-bit systems which will buy the time stamp a "bit" more time.
صديقي العزيز نحن تجاوزنا معالجات 32 بت منذ فترة طويلة وحتى عام 2038 سيكون الالاف من الحاسبات المعتمدة على تلك المعالجات في المتاحف. لماذا هذا القلق الشديد. لن اتصور ان تستضيف برنامجك على خادم ٣٢ بت !
شخصيا استخدم Timestamp والذي هو النوع الاول لانه يسهل نقله من محرك قواعد بيانات الى اخر اذا اسلتزم الامر بدون تحويلات او حسابات كما انه سلس في طبقة البزنس لوجك حيث تتوافر دوال لتحويله الى كائن تاريخ ووقت في اللغة التي تكتب بها برنامجك.
دائما ما اقوم بحفظ الوقت سواء فى قواعد البيانات او فى الملفات بالunix time, لأنه اسرع, عندما تحول الوقت لرقم تختصر الكثير من تعقيدات التعامل مع التواريخ, معظم محركات قواعد البيانات تتعثر فى مقارنات الوقت و الindexing بالوقت و تضطر الى كتابة SQL statements طويلة جدا لشىء بسيط مثل المقارنة بين تاريخ و اخر,
لذا فبتحويل كل شىء الى الunix time تختصر كل هذه المشاكل.
عام 2038 بعيد جدا, ليس قبل عام 2035 لنفكر بحل هذه المشكلة!
التعليقات