Return the current date and time in ISO8601 format: YYYY-MM-DDThh:mm:ss.ssssZhh:mm
function date_iso8601()
character(:), allocatable :: date_iso8601
character(8) :: date
character(10) :: time
character(5) :: zone
call date_and_time(date, time, zone)
date_iso8601 = date(1:4) // "-" // date(5:6) // "-" // date (7:8) &
// "T" // time(1:2) // ":" // time(3:4) // ":" // time(5:10) &
// "Z" // zone(1:3) // ":" // zone(4:5)
end function date_iso8601