1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
open Core_kernel
type t = Time.t
let unwrap t =
Time.to_string_iso8601_basic ~zone:Time.Zone.utc t
|> String.rstrip ~drop:(Char.( = ) 'Z')
;;
let wrap s =
Time.of_string_gen
~default_zone:(fun () -> Time.Zone.utc)
~find_zone:(fun s -> failwithf "Unexpected time zone: %s" s ())
s
;;
let%test_unit "round-trip" =
let expect = "2011-05-02T17:41:36.000000" in
expect |> wrap |> unwrap |> [%test_result: string] ~expect
;;