From bfc53ad061fd6adeeaf865235fee9555a9fb2e53 Mon Sep 17 00:00:00 2001 From: Matt Martin Date: Mon, 19 Jul 1999 07:17:32 +0000 Subject: Handle the 'Z' parameter to the ISO date format to convert from GMT time. 1999-07-19 Matt Martin * timeutil.c (time_from_isodate): Handle the 'Z' parameter to the ISO date format to convert from GMT time. svn path=/trunk/; revision=1030 --- calendar/ChangeLog | 5 +++++ calendar/TODO | 4 ++++ calendar/timeutil.c | 7 +++++++ 3 files changed, 16 insertions(+) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 481537730e..8387496f38 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,8 @@ +1999-07-19 Matt Martin + + * timeutil.c (time_from_isodate): Handle the 'Z' parameter to the + ISO date format to convert from GMT time. + 1999-07-17 Nat Friedman * calendar.c (calendar_add_object): Copy the new UID into the diff --git a/calendar/TODO b/calendar/TODO index db696878a0..5271b15909 100644 --- a/calendar/TODO +++ b/calendar/TODO @@ -7,6 +7,10 @@ BUGS: - X-fields (extensions) are stripped from a vCal file when it is saved. They should be preserved. +Features: + +- Add a calendar-week so that people know which week of the year it is + Year view: - See why it is so fucking slow when opening its notebook page for the diff --git a/calendar/timeutil.c b/calendar/timeutil.c index 10b9483af0..78c1c46d56 100644 --- a/calendar/timeutil.c +++ b/calendar/timeutil.c @@ -18,6 +18,9 @@ time_from_isodate (char *str) struct tm my_tm; time_t t; + if (strlen (str) < 14) + return -1; + my_tm.tm_year = (digit_at (str, 0) * 1000 + digit_at (str, 1) * 100 + digit_at (str, 2) * 10 + digit_at (str, 3)) - 1900; @@ -29,6 +32,10 @@ time_from_isodate (char *str) my_tm.tm_isdst = -1; t = mktime (&my_tm); + + if (str [15] == 'Z') + t -= timezone; + return t; } -- cgit