المنطقة الزمنية لـ Solaris في لغة C (مفقودة %z في strftime)
سؤال
لدي تطبيق يكتب إلى تطبيق آخر ويحتاج إلى توفير التاريخ + المنطقة الزمنية للنظام.لقد كنت أستخدم strftime مع %z
وسيطة للحصول على المنطقة الزمنية، وكانت تعمل بشكل جيد جدًا على Linux.ومع ذلك، قررنا الأسبوع الماضي دمجه مع سولاريس فقط لمعرفة ذلك %z
غير موجود.
اقترح شخص ما للاستخدام %Z
, ، والذي سيعطي اسم المنطقة الزمنية، ولكني بحاجة إلى %z الذي يعطي المنطقة الزمنية بتنسيق الإزاحة، مثل +0100
أو -0300
.
أي شخص لديه أفكار؟
المحلول
%z ليس POSIX.سيكون عليك حساب الإزاحة بنفسك من خلال إيجاد الفرق بين التوقيت المحلي والتوقيت العالمي.
على سبيل المثال بيرل، انظر هنا.
لا تنتمي إلى StackOverflow