29 character(STRING):: result
32 integer :: year, mon, day, hour, min, csec_len
34 character(TOKEN) :: zone, csec
38 & year=year, mon=mon, day=day, hour=hour,
min=
min, sec=sec, zone=zone)
41 if ( trim(csec) ==
'-0.' ) csec =
'0.' 42 do while ( index(
'123456789.', csec(len_trim(csec):len_trim(csec)) ) == 0 )
43 if ( len_trim(csec) < 2 )
exit 44 csec = csec(1:len_trim(csec)-1)
46 if (int(sec) > -1 .and. int(sec) < 10) csec =
'0' // csec
47 csec_len = len(trim(adjustl(csec)))
48 if (csec(csec_len:csec_len) ==
'.') csec = csec(1:csec_len-1)
50 result =
cprintf(
'%04d-%02d-%02dT%02d:%02d:%c%c', &
51 & i=(/year, mon, day, hour,
min/), &
52 & c1=trim(csec), c2=trim(zone))
83 character(STRING):: result
86 integer :: year, mon, day, hour, min, csec_len
88 character(TOKEN) :: csec
92 if ( .not. diff % nondim_flag )
then 93 call eval(diff, year=year, mon=mon, day=day, hour=hour,
min=
min, sec=sec)
95 if ( year < 0 .or. mon < 0 .or. day < 0 .or. &
96 & hour < 0 .or.
min < 0 .or. sec < 0 )
then 97 year=
abs(year) ; mon=
abs(mon) ; day=
abs(day)
105 if ( trim(csec) ==
'-0.' ) csec =
'0.' 106 do while ( index(
'123456789.', csec(len_trim(csec):len_trim(csec)) ) == 0 )
107 if ( len_trim(csec) < 2 )
exit 108 csec = csec(1:len_trim(csec)-1)
110 if (
int(sec) > -1 .and.
int(sec) < 10) csec =
'0' // csec
111 csec_len = len(trim(adjustl(csec)))
112 if (csec(csec_len:csec_len) ==
'.') csec = csec(1:csec_len-1)
114 result =
cprintf(
'%c%04d-%02d-%02dT%02d:%02d:%c', &
115 & i=(/year, mon, day, hour,
min/), &
116 & c1=pm, c2=trim(csec))
142 character(TOKEN) :: result
144 logical,
intent(in),
optional:: upcase
146 select case( time % caltype )
integer, parameter, public cal_noleap
integer, parameter, public cal_gregorian
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
logical function, public present_and_true(arg)
integer, parameter, public year_months
character(string) function dcdifftimetochar(diff)
integer, parameter, public cal_julian
integer, parameter, public cal_cyclic
integer, parameter, public dp
倍精度実数型変数
integer, parameter, public hour_seconds
integer, parameter, public min_seconds
character(token) function dcdatetimetocharcal(time, upcase)
character(string) function dcdatetimetochar(time)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ