···
"Timezone to add events to (e.g., 'America/New_York', 'UTC', \
47
-
'Europe/London'). If not specified, will use the local timezone."
47
+
'Europe/London'). If not specified, will use the local timezone. For a \
48
+
floating time (always at whatever the sytem time is), use 'FLOATING'."
···
138
+
match Timedesc.Time_zone.local () with
139
+
| Some tz -> Ok (Timedesc.Time_zone.name tz)
140
+
| None -> Error (`Msg "Failed to get system timezone")
143
+
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:start_date
144
+
~time:start_time `From
146
+
Ok (Some (`Datetime (`With_tzid (datetime, (false, tzid)))))
147
+
| Some "FLOATING" ->
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:start_date
···
Ok (Some (`Datetime (`Utc datetime)))
149
-
match Timedesc.Time_zone.make tzid with
150
-
| Some tz_obj -> Ok tz_obj
151
-
| None -> Error (`Msg ("Invalid timezone: " ^ tzid))
154
-
Date.parse_date_time ~tz ~date:start_date ~time:start_time `From
161
+
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:start_date
162
+
~time:start_time `From
Ok (Some (`Datetime (`With_tzid (datetime, (false, tzid)))))))
···
match (timezone, end_timezone) with
201
+
match Timedesc.Time_zone.local () with
202
+
| Some tz -> Ok (Timedesc.Time_zone.name tz)
203
+
| None -> Error (`Msg "Failed to get system timezone")
206
+
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:end_date
207
+
~time:end_time `From
212
+
( Icalendar.Params.empty,
213
+
`Datetime (`With_tzid (datetime, (false, tzid))) )))
214
+
| _, Some "FLOATING" | Some "FLOATING", None ->
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:end_date
···
(`Dtend (Icalendar.Params.empty, `Datetime (`Utc datetime))))
| _, Some tzid | Some tzid, _ ->
209
-
match Timedesc.Time_zone.make tzid with
210
-
| Some tz_obj -> Ok tz_obj
211
-
| None -> Error (`Msg ("Invalid timezone: " ^ tzid))
214
-
Date.parse_date_time ~tz ~date:end_date ~time:end_time `From
232
+
Date.parse_date_time ~tz:Timedesc.Time_zone.utc ~date:end_date
233
+
~time:end_time `From