ISO8601 Time Range Parser. See http://wikipedia.org/wiki/ISO_8601#Time_intervals

Test001:

output:

Test002:

output:

Test003:

output:

Test004:

output:

Test005:

output: