الحصول على time_t / timeval المقابلة (local_timezone) منتصف الليل في تاريخ معين

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

سؤال

نظرا لوقت 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.

giveacodicetagpre.

استخدمت localty_r نظرا لأنها يجب أن تكون متاحة كما كنت تستخدمها أيضا في إجابتك.

مثال : giveacodicetagpre.

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