gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
Functions/Subroutines
dcdatetimesub.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

type(dc_datetime) function dcdatetime_sub_tf (time, diff)
 利用者定義演算子 (-) のための関数
 
type(dc_difftime) function dcdatetime_sub_tt (time1, time2)
 
type(dc_difftime) function dcdatetime_sub_ff (diff1, diff2)
 
type(dc_difftime) function dcdatetime_sub_fd (diff, sec)
 
type(dc_difftime) function dcdatetime_sub_fr (diff, sec)
 
type(dc_difftime) function dcdatetime_sub_fi (diff, sec)
 

Function/Subroutine Documentation

◆ dcdatetime_sub_fd()

type(dc_difftime) function dcdatetime_sub_fd ( type(dc_difftime), intent(in)  diff,
real(dp), intent(in)  sec 
)

DC_DIFFTIME から倍精度実数を減算

日時差から倍精度実数の秒数を減算します.

Parameters
[in]diff日時差 (被減数)
[in]sec減算する秒数 (倍精度実数)
Returns
減算結果

Definition at line 164 of file dcdatetimesub.f90.

165
168 use dc_scaledsec, only: operator(-)
169 use dc_types, only: dp
170 implicit none
171 type(DC_DIFFTIME):: result
172 type(DC_DIFFTIME), intent(in):: diff
173 real(DP), intent(in):: sec
174continue
175 result % mon = diff % mon
176 result % day = diff % day
177 result % sec = diff % sec - sec
178 result % day_seconds = diff % day_seconds
179 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
dc_date用の内部モジュール
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
日付・時刻に関する構造データ型と定数
精密な時間演算のための秒スケールモジュール
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:92

References dc_date_internal::dcdate_normalize(), and dc_types::dp.

Here is the call graph for this function:

◆ dcdatetime_sub_ff()

type(dc_difftime) function dcdatetime_sub_ff ( type(dc_difftime), intent(in)  diff1,
type(dc_difftime), intent(in)  diff2 
)

2つの DC_DIFFTIME を減算

2つの日時差を減算します.

Parameters
[in]diff11番目の日時差 (被減数)
[in]diff22番目の日時差 (減数)
Returns
減算結果

Definition at line 128 of file dcdatetimesub.f90.

129
132 use dc_scaledsec, only: operator(-)
133 implicit none
134 type(DC_DIFFTIME):: result
135 type(DC_DIFFTIME), intent(in):: diff1, diff2
136continue
137 result % mon = diff1 % mon - diff2 % mon
138 result % day = diff1 % day - diff2 % day
139 result % sec = diff1 % sec - diff2 % sec
140 result % day_seconds = diff1 % day_seconds
141 call dcdate_nondimcheck('dc_date#operator(-)', diff1, diff2, result)
142 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
subroutine, public dcdate_nondimcheck(opr, diff1, diff2, rslt)

References dc_date_internal::dcdate_nondimcheck(), and dc_date_internal::dcdate_normalize().

Here is the call graph for this function:

◆ dcdatetime_sub_fi()

type(dc_difftime) function dcdatetime_sub_fi ( type(dc_difftime), intent(in)  diff,
integer, intent(in)  sec 
)

DC_DIFFTIME から整数を減算

日時差から整数の秒数を減算します.

Parameters
[in]diff日時差 (被減数)
[in]sec減算する秒数 (整数)
Returns
減算結果

Definition at line 234 of file dcdatetimesub.f90.

235
236 use dc_date_generic, only: operator(-)
238 use dc_scaledsec, only: operator(-)
239 use dc_types, only: dp
240 implicit none
241 type(DC_DIFFTIME):: result
242 type(DC_DIFFTIME), intent(in):: diff
243 integer, intent(in):: sec
244continue
245 result = diff - real( sec, dp )
dc_date より提供される手続の引用仕様宣言

References dc_types::dp.

◆ dcdatetime_sub_fr()

type(dc_difftime) function dcdatetime_sub_fr ( type(dc_difftime), intent(in)  diff,
real, intent(in)  sec 
)

DC_DIFFTIME から単精度実数を減算

日時差から単精度実数の秒数を減算します.

Parameters
[in]diff日時差 (被減数)
[in]sec減算する秒数 (単精度実数)
Returns
減算結果

Definition at line 201 of file dcdatetimesub.f90.

202
203 use dc_date_generic, only: operator(-)
205 use dc_scaledsec, only: operator(-)
206 use dc_types, only: dp
207 implicit none
208 type(DC_DIFFTIME):: result
209 type(DC_DIFFTIME), intent(in):: diff
210 real, intent(in):: sec
211continue
212 result = diff - real( sec, dp )

References dc_types::dp.

◆ dcdatetime_sub_tf()

type(dc_datetime) function dcdatetime_sub_tf ( type(dc_datetime), intent(in)  time,
type(dc_difftime), intent(in)  diff 
)

利用者定義演算子 (-) のための関数

Author
Yasuhiro MORIKAWA, Eizi TOYODA

Definition at line 43 of file dcdatetimesub.f90.

44
47 use dc_scaledsec, only: dc_scaled_sec, &
48 & operator(<), operator(>), operator(<=), operator(>=), &
49 & operator(+), operator(-), operator(*), operator(/), &
50 & modulo, int, abs, sign
51 implicit none
52 type(DC_DATETIME):: result
53 type(DC_DATETIME), intent(in):: time
54 type(DC_DIFFTIME), intent(in):: diff
55 type(DC_SCALED_SEC):: time_year, time_mon, time_day, time_sec
56 integer:: time_caltype
57 character(6):: time_zone
58continue
59 call eval(time, &
60 & sclyear = time_year, sclmon = time_mon, sclday = time_day, &
61 & sclsec = time_sec, caltype = time_caltype, zone = time_zone )
62 call dcdatetimecreate(result, &
63 & sclyear = time_year, &
64 & sclmon = time_mon - diff % mon, &
65 & sclday = time_day - diff % day, &
66 & sclsec = time_sec - diff % sec, &
67 & caltype = time_caltype, zone = time_zone)
integer, save, public caltype
デフォルトの暦タイプ (グレゴリオ暦)

References dc_date_types::caltype.

◆ dcdatetime_sub_tt()

type(dc_difftime) function dcdatetime_sub_tt ( type(dc_datetime), intent(in)  time1,
type(dc_datetime), intent(in)  time2 
)

2つの DC_DATETIME を減算

2つの日時の差を計算して返します.

Parameters
[in]time11番目の日時 (被減数)
[in]time22番目の日時 (減数)
Returns
time1 と time2 の日時差

Definition at line 89 of file dcdatetimesub.f90.

90
91 use dc_date_generic, only: evalsclsec, zonetodiff, operator(-)
94 use dc_scaledsec, only: dc_scaled_sec, &
95 & operator(<), operator(>), operator(<=), operator(>=), &
96 & operator(+), operator(-), operator(*), operator(/), &
97 & modulo, int, abs, sign
98 implicit none
99 type(DC_DIFFTIME):: result
100 type(DC_DATETIME), intent(in):: time1, time2
101continue
102 result % day = time1 % day - time2 % day
103 result % sec = time1 % sec - time2 % sec &
104 & + evalsclsec(zonetodiff(time1 % zone) - zonetodiff(time2 % zone))
105 result % day_seconds = time1 % day_seconds
106 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)

References dc_date_internal::dcdate_normalize().

Here is the call graph for this function: