12
votes

Y a-t-il une solution de contournement faute de format olsen TZID dans le fichier ICS

J'ai eu récemment un problème avec un fichier ICS que j'ai reçu dans le courrier électronique. Ma copie d'Outlook 2010 ne reconnaîtrait pas le bon fuseau horaire. Voici la façon que le temps de début d'une réunion était représentée dans le fichier ICS:

DTSTART;TZID="Pacific Time":20110928T183000


1 commentaires

Le lien dans la réponse de Stackoverflow.com/Questtions/3763503/... est maintenant iCalevents.com/category/notes < / a>. Et la poste la plus intéressante liée à votre question semble être iCalevents.com/... - mais il ne parle que de l'analyse de fichiers ICS (et des identifiants TZ différents), et non de quoi faire lorsque vous les envoyez à plusieurs clients. Hrmmpf.


3 Réponses :


7
votes

difficile à juger sans le fichier IALendar complet, mais avez-vous défini / avez-vous un composant vtimezone dans votre fichier de calendrier qui définit ce que devrait être l'Amérique / Los_Angeles?

Quelque chose comme: xxx


1 commentaires

Egads! Ça a marché! Remarque: Assurez-vous d'obtenir la définition VtimeZone avant la fin de la fermeture: Vcalendar Tag. Merci @oberron!



1
votes

Au lieu d'ajouter la définition de fuseau horaire au fichier ICS, il serait préférable de mentionner les heures de début / de fin de l'événement en UTC elle-même. Et ensuite, le consommateur du fichier ICS - Outlook dans votre cas - devrait pouvoir effectuer la conversion de fuseau horaire de l'UTC (du fichier ICS) au réglage de fuseau horaire préféré de l'utilisateur final, juste avant de rendre l'événement de la réunion sur leurs calendriers.

Avantages: De cette façon, vous n'avez pas à prendre soin de l'ajout de la bonne fuselleté de fuseau horaire (composant VtimeZone) vous-même. De plus, le fichier ICS est beaucoup plus petit, plus propre, facile à lire.

références: Même Google semble manipuler des délaizones dans ICS de cette façon - Google Timezone Manipulation

J'espère que cela aide.


1 commentaires

contre : ne gère pas les économies d'été change correctement pour le fuseau horaire cible.



0
votes

Supposons que le questionnaire habite à Los Angeles et utilise Outlook2010. Et 20110928T183000 code> L'heure de début est basée sur PDT Si vous souhaitez effectuer une rencontre avec succès, vous ajoutez un élément de rendez-vous de la réunion, contactez-le et Google Map Adresse URL TIPE TEMPS DU TEMPS DANS DES DESCRIPTION. Bien entendu, l'article de la réunion devrait ajouter l'organisateur et le participant, mais il est si difficile de définir. Et environ 75 octètes, le retour du chariot d'octet et l'insertion de l'espace sont difficiles. Alors seulement définir l'organisateur et la participation écrit dans la description.

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
CALSCALE:GREGORIAN
X-WR-TIMEZONE:America/Los_Angeles
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-WR-TIMEZONE: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
DTSTART;TZID=America/Los_Angeles:20110928T183000
DTEND;TZID=America/Los_Angeles:20110928T203000
LOCATION:meeting room in Los Angeles
Description:maps link \nhttp... \n phone \n open at 10:00:AM(PDT)
UID:ev1
ORGANIZER;CN="ThisMeeting Orginizer":mailto:meetingorginer@example.com
Contact:meetingsupport@example.com
DTSTAMP:20111001T105433Z
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR


0 commentaires