تقويم: ملف ICS يفتقر لمعلومات المنطقة الزمنية!

رأيت منشورًا آخر يقول أن أضع هنا لسبب ما بخصوص التقويم ولكني لا أعتقد أن discourse له علاقة بهذه المشكلة ولكن مشاركاتنا تُغلق بعد 7 أيام لذا YOLO!

بالنظر إلى مواصفات ملف .ics لا أعرف أي منها نحتاجه ولكننا نفتقد هذه … إنها

  1. X-WR-TIMEZONE
  2. TZID
  3. X-LIC-LOCATION

لذا أعتقد أنه يجب سحب إعداد المنطقة الزمنية في الحزمة ويجب أن يضيف X-WR-TIMEZONE للمطابقة … عندما تستورد من Google فإنه يفترض منطقتك المحلية … ولكن GoDaddy لا يمكنني العثور على مكان لتعيين ذلك … وقد نجح الأمر من قبل لأنني أفترض أن تقويمات ics القديمة كانت تحتوي على معلومات المنطقة الزمنية

مثال بمعلومات المنطقة الزمنية الصحيحة … X-WR-TIMEZONE و X-LIC-LOCATION تم تعيينهما ويحتوي الحدث على DTSTART؛TZID = “America/Los_Angeles”: 20160206T074400 و DTEND؛TZID = “America/Los_Angeles”: 20160206T084400

أعتقد على الأقل أن الإصلاح سيكون إضافة X-WR-TIMEZONE و X-LIC-LOCATION ويجب أن يسمح المواصفات المناسبة لكل حدث بأن يكون له منطقة زمنية خاصة به للبدء والانتهاء … أنا متأكد من أنكم تسافرون بالطائرات ومع تحرككم حول العالم ستتكيف إعدادات المنطقة الزمنية إذا تم تعيينها بشكل صحيح في التقويم

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 19.0 MIMEDIR//EN
VERSION:2.0
X-WR-TIMEZONE:America/Los_Angeles
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-LIC-LOCATION:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Appointment
LOCATION:Pune
DESCRIPTION:Your appointment Details:\n\nPatient Details:Kou Kul\nKeven\n\nAppointment Type:Counselling (30 min)\n\nThanks.
DTSTART;TZID="America/Los_Angeles":20160206T074400
DTEND;TZID="America/Los_Angeles":20160206T084400
PRIORITY:5
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

stephen_Hornak
ChristopherCamacho
Matt.Johnson
jacobfetzer

4 إعجابات

هل هناك أي أخبار حول هذا؟ لا يزال ملف ics يفتقر إلى معلومات المنطقة الزمنية. لذلك عندما يقوم المستخدمون باستيراد ملف ics من Discourse إلى تقويمهم، يحصلون على وقت غير صحيح.

ملف ics الذي نقوم بإنشائه يتبع مواصفات iCalendar. على وجه التحديد، للوقت، نقوم بإنشاء طوابع زمنية بالتوقيت العالمي المنسق (الكود المصدري 1، الكود المصدري 2) مضاف إليها Z والتي تلتزم بما يلي:

الشكل #2: وقت التوقيت العالمي المنسق

      يتم تحديد وقت التوقيت العالمي المنسق، أو الوقت المطلق، بواسطة حرف Z كبير، وهو معرف التوقيت العالمي المنسق، مضافًا إلى قيمة الوقت. على سبيل المثال، يمثل ما يلي 07:00 صباحًا بالتوقيت العالمي المنسق:

       070000Z

      يجب عدم تطبيق معلمة خاصية "TZID" على خصائص TIME التي يتم تحديد قيم الوقت الخاصة بها بالتوقيت العالمي المنسق.

الخصائص الأخرى X-WR-TIMEZONE و X-LIC-LOCATION ليست جزءًا من تلك المواصفات.

متابعةً للموضوع الأصلي في OP، أرى أن الآخرين قد لاحظوا في موضوع ذي صلة أن هذه المشكلة خاصة بعرض التقويم الخاص بـ godaddy. ربما تكون هناك مشكلة في كيفية معالجتها في محولهم عند استيراد ملفات ical. هل لاحظت هذه المشكلة مع تقويمات أخرى؟

إعجاب واحد (1)

معرف المنطقة الزمنية TZID هو جزء من هذا المواصفات RFC 5545 - Internet Calendaring and Scheduling Core Object Specification (iCalendar)

نعم، أفهم هذا الجزء. وذكر أيضًا في نفس المواصفات:

يجب ألا يتم تطبيق المعلمة "TZID" الخاصة بالخاصية على خصائص DATE وخصائص DATE-TIME أو TIME التي تم تحديد قيم الوقت الخاصة بها بتنسيق UTC.

البيانات الزمنية لدينا محددة بتنسيق UTC، وبالتالي يجب عدم تطبيق المعلمة TZID.