X-Git-Url: http://git.annexia.org/?p=whenjobs.git;a=blobdiff_plain;f=lib%2Fwhenutils.ml;h=ca26755581c45e363a0eea475f033a80c81ec29e;hp=7d20f759155ef69cb0450383318f51c92db19e35;hb=03b83c1a4bab53d8914c6946ad892bca30df09d0;hpb=76e68068f22a67c788f14a7c9404db7f7514da49 diff --git a/lib/whenutils.ml b/lib/whenutils.ml index 7d20f75..ca26755 100644 --- a/lib/whenutils.ml +++ b/lib/whenutils.ml @@ -37,6 +37,12 @@ module IntMap = struct let values m = fold (fun _ v vs -> v :: vs) m [] end +module BigIntMap = struct + include Map.Make (struct type t = big_int let compare = compare_big_int end) + let keys m = fold (fun k _ ks -> k :: ks) m [] + let values m = fold (fun _ v vs -> v :: vs) m [] +end + module StringSet = Set.Make (String) let (//) = Filename.concat @@ -50,3 +56,10 @@ let rec filter_map f = function match f x with | Some y -> y :: filter_map f xs | None -> filter_map f xs + +let string_of_time_t ?(localtime = false) t = + let tm = (if localtime then Unix.localtime else gmtime) t in + sprintf "%04d-%02d-%02d %02d:%02d:%02d%s" + (1900+tm.tm_year) (1+tm.tm_mon) tm.tm_mday + tm.tm_hour tm.tm_min tm.tm_sec + (if localtime then "" else " UTC")