الحصول على time_t / timeval المقابلة (local_timezone) منتصف الليل في تاريخ معين
-
29-10-2019 - |
سؤال
نظرا لوقت Time_t أو بنية Timeval، كيف يمكنني الحصول على Timeval أو Time_t من مؤسسة منتصف الليل / EDT (TIMEZONE المحلية) في ذلك اليوم؟ كما هو الحال في بافتراض التوقيت المحلي المحلي هو EST / EDT، بالنظر إلى Time_T المقابلة ليقول 2010-11-30 08:00:00 EST / EDT، والإجابة المتوقعة هي Time_t التي تتوافق مع 2010-11-30 00:00:00 مؤسسة/ EDT
محاولة 1 (غير صحيح: نظرا لأنه لا يتعامل مع DST، وفترض / EDT هو دائما 5 ساعات وراء UTC): giveacodicetagpre.
محاولة 2 (غير صحيح: نظرا لأن ذلك يعرض time_t الذي يتوافق معه عندما كان منتصف الليل UTC وليس EST / EDT، TIGNZONE المحلية): giveacodicetagpre.
أشعر أنه يجب أن يكون هناك حل ينطوي عليه (ط) مهلة TM، mktime أو (2) زيادة :: local_date_time ربما؟
المحلول 3
الحل الحالي: giveacodicetagpre.
يرجى تقديم المشورة.
نصائح أخرى
كما هو الوقت هو الوقت في ثوان منذ العصر (00:00:00 UTC، 1 يناير 1970)، تحتاج فقط للتخلص من ثواني اليوم.هناك 86400 ثانية في يوم واحد يتم تجاهلها عادة ثواني) لذلك يجب أن تكون النتيجة متعددة 86400. وبالتالي: giveacodicetagpre.
استخدمت localty_r نظرا لأنها يجب أن تكون متاحة كما كنت تستخدمها أيضا في إجابتك.
مثال : giveacodicetagpre.