16 & elapse_sec, date, cal, err )
63 integer,
intent(out),
optional:: year
64 integer,
intent(out),
optional:: month
65 integer,
intent(out),
optional:: day
66 integer,
intent(out),
optional:: hour
67 integer,
intent(out),
optional:: min
68 real(DP),
intent(out),
optional:: sec
69 character(*),
intent(out),
optional:: zone
70 real(DP),
intent(in),
optional:: elapse_sec
73 type(
dc_cal_date),
intent(in),
optional,
target:: date
78 type(
dc_cal),
intent(in),
optional,
target:: cal
83 logical,
intent(out),
optional:: err
102 integer:: wyear, wmonth, wday, whour, wmin
104 character(TOKEN):: wzone
106 type(
dc_cal),
pointer:: calp =>null()
107 character(STRING):: e_date_str, e_cal_str
109 character(STRING):: cause_c
110 character(*),
parameter:: subname =
'DCCalInquire1' 119 if (
present( date ) )
then 125 if (
present( cal ) )
then 135 if ( .not. datep % initialized )
then 137 cause_c =
'DC_CAL_DATE' 141 if ( .not. calp % initialized )
then 151 wmonth = datep % month
161 if (
present( elapse_sec ) )
then 168 wsec = wsec + elapse_sec
178 e_date_str =
dccaldatetochar( wyear, wmonth, wday, whour, wmin, wsec, wzone )
179 call messagenotify(
'W', subname,
'cal=<%c> and date=<%c> are inconsistency', &
180 & c1 = trim(e_cal_str), c2 = trim(e_date_str) )
187 if (
present(year ) ) year = wyear
188 if (
present(month) ) month = wmonth
189 if (
present(day ) ) day = wday
190 if (
present(hour ) ) hour = whour
191 if (
present(min ) ) min = wmin
192 if (
present(sec ) ) sec = wsec
193 if (
present(zone ) ) zone = wzone
199 nullify( calp, datep )
200 call storeerror( stat, subname, err, cause_c )
257 character(*),
intent(out):: date_str
265 real(DP),
intent(in),
optional:: elapse_sec
268 type(
dc_cal_date),
intent(in),
optional,
target:: date
273 type(
dc_cal),
intent(in),
optional,
target:: cal
278 logical,
intent(out),
optional:: err
297 integer:: year, month, day, hour, min
299 character(TOKEN):: zone
301 type(
dc_cal),
pointer:: calp =>null()
302 character(STRING):: e_date_str, e_cal_str
304 character(STRING):: cause_c
305 character(*),
parameter:: subname =
'DCCalInquire2' 314 if (
present( date ) )
then 320 if (
present( cal ) )
then 330 if ( .not. datep % initialized )
then 332 cause_c =
'DC_CAL_DATE' 336 if ( .not. calp % initialized )
then 346 month = datep % month
357 if (
present( elapse_sec ) )
then 364 sec = sec + elapse_sec
375 call messagenotify(
'W', subname,
'cal=<%c> and date=<%c> are inconsistency', &
376 & c1 = trim(e_cal_str), c2 = trim(e_date_str) )
389 nullify( calp, datep )
390 call storeerror( stat, subname, err, cause_c )
integer, parameter, public dc_enotinit
subroutine dccaldateinquire1(year, month, day, hour, min, sec, zone, elapse_sec, date, cal, err)
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
type(dc_cal), target, save, public default_cal
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
integer function, public dccaldate_normalize(year, month, day, hour, min, sec, cal)
type(dc_cal_date), target, save, public default_date
subroutine dccaldateinquire2(date_str, elapse_sec, date, cal, err)
integer, parameter, public dp
倍精度実数型変数
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
integer, parameter, public dc_einconsistcaldate
subroutine, public default_cal_set
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public dc_enegative
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ