الكفاح المدهش للحصول على توقيت يونكس إبوك من سلسلة نصية UTC في C أو C++

2025-01-19
الكفاح المدهش للحصول على توقيت يونكس إبوك من سلسلة نصية UTC في C أو C++

تتناول هذه المقالة تعقيدات تحويل سلاسل نصية UTC إلى طوابع زمنية يونكس في C/C++. يكتشف الكاتب سلوكًا غير متوقع في وظائف معالجة الوقت POSIX عبر مكتبات C ولغات متعددة. يركز على استخدام وظائف `strptime()` و `mktime()` و `timegm()`, مع تسليط الضوء على مشاكل التوقيت الصيفي والإعدادات الإقليمية. يتم تقديم الحلول، بما في ذلك استخدام `timegm()` لأوقات UTC والاستفادة من تدفقات C++ لتجاوز مشاكل الإعدادات الإقليمية. تختتم المقالة بالتوصية بمكتبات معالجة الوقت الأكثر قوة المتوفرة في C++20 وما بعدها، مثل مكتبة tz من Howard Hinnant.

التطوير