Go to the source code of this file.
|
character(string) function | dccaldatetochar1 (year, month, day, hour, min, sec, zone) |
|
◆ dccaldatetochar1()
character(string) function dccaldatetochar1 |
( |
integer, intent(in) |
year, |
|
|
integer, intent(in) |
month, |
|
|
integer, intent(in) |
day, |
|
|
integer, intent(in) |
hour, |
|
|
integer, intent(in) |
min, |
|
|
real(dp), intent(in) |
sec, |
|
|
character(*), intent(in), optional |
zone |
|
) |
| |
Definition at line 17 of file dccaldatetochar.f90.
References dc_types::dp, dc_types::string, and dc_types::token.
29 character(STRING):: result
37 integer,
intent(in):: year
38 integer,
intent(in):: month
39 integer,
intent(in):: day
40 integer,
intent(in):: hour
41 integer,
intent(in):: min
42 real(DP),
intent(in):: sec
43 character(*),
intent(in),
optional:: zone
45 character(TOKEN):: csec, zonew
48 if (
present(zone) )
then 56 if ( trim(csec) ==
'-0.' ) csec =
'0.' 57 do while ( index(
'123456789.', csec(len_trim(csec):len_trim(csec)) ) == 0 )
58 if ( len_trim(csec) < 2 )
exit 59 csec = csec(1:len_trim(csec)-1)
61 if (int(sec) > -1 .and. int(sec) < 10) csec =
'0' // csec
62 csec_len = len(trim(adjustl(csec)))
63 if (csec(csec_len:csec_len) ==
'.') csec = csec(1:csec_len-1)
65 result =
cprintf(
'%04d-%02d-%02dT%02d:%02d:%c%c', &
66 & i=(/year, month, day, hour, min/), &
67 & c1=trim(csec), c2=trim(zonew))
integer, parameter, public token
Character length for word, token.
integer, parameter, public dp
Double Precision Real number.
Handling character types.
Provides kind type parameter values.
integer, parameter, public string
Character length for string.