47 real(DP),
intent(in):: in_time
51 character(*),
intent(in):: in_unit
55 character(*),
intent(in):: out_unit
59 type(
dc_cal),
intent(in),
optional,
target:: cal
68 type(
dc_cal),
pointer:: calp =>null()
70 integer:: in_unit_sym, out_unit_sym
73 character(*),
parameter:: subname =
'DCCalConvertByUnit1' 84 if (
present( cal ) )
then 94 if ( .not. calp % initialized )
then 95 call messagenotify(
'W', subname,
'"cal" is not initialized. <-1> is returned.' )
170 real(DP),
intent(in):: in_time
174 integer,
intent(in):: in_unit
178 integer,
intent(in):: out_unit
182 type(
dc_cal),
intent(in),
optional,
target:: cal
191 type(
dc_cal),
pointer:: calp =>null()
195 character(*),
parameter:: subname =
'DCCalConvertByUnit2' 206 if (
present( cal ) )
then 216 if ( .not. calp % initialized )
then 217 call messagenotify(
'W', subname,
'"cal" is not initialized. <-1> is returned.' )
228 in_timew = in_time * calp % hour_in_day &
229 & * calp % min_in_hour &
230 & * calp % sec_in_min
232 in_timew = in_time * calp % min_in_hour &
233 & * calp % sec_in_min
235 in_timew = in_time * calp % sec_in_min
240 call messagenotify(
'W', subname,
'in_unit=<%d> is invalid. (ONLY day,hour,min,sec are valid).' // &
241 &
' <-1> is returned.', &
242 & i = (/ in_unit /) )
247 select case(out_unit)
249 out_time = in_timew / calp % hour_in_day &
250 & / calp % min_in_hour &
251 & / calp % sec_in_min
253 out_time = in_timew / calp % min_in_hour &
254 & / calp % sec_in_min
256 out_time = in_timew / calp % sec_in_min
261 call messagenotify(
'W', subname,
'out_unit=<%d> is invalid. (ONLY day,hour,min,sec are valid).' // &
262 &
' <-1> is returned.', &
263 & i = (/ out_unit /) )
integer, parameter, public unit_symbol_hour
integer, parameter, public unit_symbol_month
integer, parameter, public dc_enotinit
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
type(dc_cal), target, save, public default_cal
character(token) function, public dccaltype_str(cal_type)
real(dp) function dccalconvertbyunit2(in_time, in_unit, out_unit, cal)
integer, parameter, public unit_symbol_year
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
integer, parameter, public unit_symbol_day
integer, parameter, public dp
倍精度実数型変数
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
integer, parameter, public dc_ebadunit
integer, parameter, public unit_symbol_min
integer function, public dccaldate_str2usym(str)
subroutine, public default_cal_set
integer, parameter, public unit_symbol_sec
real(dp) function dccalconvertbyunit1(in_time, in_unit, out_unit, cal)
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ