كيف يمكنك الحصول على تاريخ ووقت منسق للمكان الحالي في ج؟

StackOverflow https://stackoverflow.com/questions/2778375

سؤال

ما هي الوظيفة C التي يجب أن أتصل بها للحصول على تاريخ ووقت منسق للموقع حيث يتم تنفيذ البرنامج؟

أطرح هذا السؤال لأنني واجهت مشكلة باستخدام Clamav Daemon API. ال VERSION يقوم الأمر بإرجاع تاريخ ووقت أحدث تعريفات الفيروسات ، لكن الكود يستخدم مكالمة إلى ctime لتنسيقه. بقدر ما أستطيع أن أقول ctime لا يقوم بتنسيق DateTime وفقًا للموقع الحالي ويستخدم اختصارات اللغة الإنجليزية لأيام من الأسبوع والشهر في السلسلة التي تم إرجاعها. هذا يسبب مشاكل كبرنامج Java الخاص بي الذي يستخدم API Clamav يفعل احترم اللغة الحالية وبالتالي تتوقع أن يكون لاسم الأسبوع والشهر الاختصارات المحلية.

يجب أن يكون تنسيق وقت البيانات بنفس التنسيق الذي تم إنتاجه بواسطة ctime:

www mmm dd hh: mm: ss yyyy

حيث WWW هو أيام الأسبوع ، MMM في الشهر في Letters ، DD يوم الشهر ، HH: MM: SS time ، و yyyy العام.

يمكنني إعادة كتابة برنامج Java لأفترض دائمًا تواريخ اللغة الإنجليزية ، لكنني سأكون أكثر سعادة لتقديم تصحيح إلى Clamav لأنه يبدو وكأنه خطأ في جانبي.

هل كانت مفيدة؟

المحلول

strftime("%c", ... يجب أن يعطيك تمثيل التاريخ والوقت المفضل للمكان الحالي. أو (لا يزال مع strftime) يمكنك المحاكاة ctimeتنسيق ولكن مع %b للاختصار الشهر الحالي ، %a للاختصار الحالي في أيام الأسبوع ، وما إلى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top