Ik kwam gisteren op het idee om de wedstrijden van FC Twente die ik bijhoud in een database aan te bieden met iCalendar, zodat je met een klik de wedstrijden in je kalender hebt staan. Nu heb ik 't zo dat hij de wedstrijden keurig in een vcs bestand zet en deze wordt keurig gelezen door zowel Outlook als Google Calendar, alleen het probleem is dat hij bij Google de tijd niet goed zet. Ik heb (voor mijn gevoel) al ''alles'' geprobeerd, met tijdzones en dergelijke, maar het lukt mij niet 
De complete code die keurig in Outlook de wedstrijden laat zien:
Zoals gezegd heb ik het één en ander geprobeerd, namelijk:
DTSTART;TZID=Europe/Amsterdam ipv DTSTART, ik heb met de Z zitten stoeien achter deze waarden. Als ik Europe/Amsterdam er bij heb staan, dan laat hij in Outlook pak 'm beet de eerste 5 wedstrijden qua tijd ook niet goed zien (+ 1/2 uur), maar alle wedstrijden erna laat hij wel de juiste tijd zien (ook dan laat Google niet de juiste tijden zien)
. Als ik het vcs bestandje open die hij dan gemaakt heeft dan staan daar keurig de juiste tijden in... Zoals je ziet heb ik wat geprobeerd (ook gegoogled, maar daar kom je weinig bruikbare informatie tegen), maar ik kom er niet uit, weet iemand van jullie het misschien?
De complete code die keurig in Outlook de wedstrijden laat zien:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <?php include('connect.php'); $wedstrijden = mysql_query("SELECT *, SEC_TO_TIME(TIME_TO_SEC(tijd)+6300) AS eindtijd FROM v_wedstrijden AS wedstrijden, v_seizoenen AS seizoenen, v_clubs AS clubs, v_competities AS competities WHERE wedstrijden.seizoenid = seizoenen.seizoenid AND wedstrijden.clubid = clubs.clubid AND wedstrijden.competitieid = competities.competitieid AND datum >= CURDATE()"); $ical = "BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:Wedstrijden FC Twente"; while($wedstrijd = mysql_fetch_array($wedstrijden)) { $datum = str_replace("-", "", $wedstrijd['datum']); $tijd = str_replace(":", "", $wedstrijd['tijd']); $eindtijd = str_replace(":", "", $wedstrijd['eindtijd']); $datumstamp = date('Ymd'); $tijdstamp = date('His'); if($wedstrijd['waar'] == 'Thuis') { $summary = "SUMMARY:FC Twente - ".$wedstrijd['club'].""; } elseif($wedstrijd['waar'] == "Uit") { $summary = "SUMMARY:".$wedstrijd['club']." - FC Twente"; } $ical .= " BEGIN:VEVENT DTSTAMP:".$datumstamp."T".$tijdstamp."Z DTSTART:".$datum."T".$tijd." DTEND:".$datum."T".$eindtijd." ".$summary." LOCATION:".$wedstrijd['competitie']." UID:".$wedstrijd['wedstrijdid']." END:VEVENT"; } $ical .= " END:VCALENDAR"; //set correct content-type-header header('Content-type: text/calendar; charset=utf-8'); header('Content-Disposition: inline; filename=calendar.vcs'); echo $ical; exit; ?> |
Zoals gezegd heb ik het één en ander geprobeerd, namelijk:
DTSTART;TZID=Europe/Amsterdam ipv DTSTART, ik heb met de Z zitten stoeien achter deze waarden. Als ik Europe/Amsterdam er bij heb staan, dan laat hij in Outlook pak 'm beet de eerste 5 wedstrijden qua tijd ook niet goed zien (+ 1/2 uur), maar alle wedstrijden erna laat hij wel de juiste tijd zien (ook dan laat Google niet de juiste tijden zien)
