#load "unix.cma";;

let scan_time s =
  Scanf.sscanf s "%4d%2d%2d%2d%2d%2d" (fun year mon day h m s ->
    { Unix.tm_sec = s;  tm_min = m;  tm_hour = h;
      tm_mday = day;  tm_mon = mon;  tm_year = year-1900;
      tm_wday = 0;  tm_yday = 0;  tm_isdst = false
    } ) ;;

let print_time { 
  tm_year = yy; tm_mon = mm; tm_mday = dd;
  tm_hour = h; tm_min = m; Unix.tm_sec = s } =
  Printf.printf "%d%02d%02d%02d%02d%02d" (yy+1900) mm dd h m s;;
  
let date_ex s sec =
  let {Unix.tm_sec = tsec} as tm = scan_time s in
  print_time (snd (Unix.mktime {tm with Unix.tm_sec=tsec+sec}));;

(* date_ex "20080827235925" 40;; *)