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

Go to the source code of this file.

Functions/Subroutines

logical function dcdatetime_gt_tt (time1, time2)
 利用者定義演算子 (>) のための関数
 
logical function dcdatetime_gt_ff (diff1, diff2)
 
logical function dcdatetime_gt_fi (diff, factor)
 
logical function dcdatetime_gt_if (factor, diff)
 

Function/Subroutine Documentation

◆ dcdatetime_gt_ff()

logical function dcdatetime_gt_ff ( type(dc_difftime), intent(in)  diff1,
type(dc_difftime), intent(in)  diff2 
)

2つの DC_DIFFTIME 変数の比較 (>)

2 つの引数の日時差を比較します. 1 つ目の引数に格納される日時差が 2 つ目の引数に格納される日時差 よりも大きい場合, .true. が返ります.

Parameters
[in]diff1比較する1番目の日時差
[in]diff2比較する2番目の日時差
Returns
diff1 > diff2 の場合 .true., それ以外は .false.

Definition at line 99 of file dcdatetimegt.f90.

100
101 use dc_date_generic, only: evalsec
102 use dc_scaledsec, only: &
103 & operator(<), operator(>), operator(<=), operator(>=), operator(==)
105 implicit none
106 type(DC_DIFFTIME), intent(in):: diff1, diff2
107continue
108 if ( diff1 % day_seconds == diff2 % day_seconds ) then
109
110 if ( diff1 % mon > diff2 % mon ) then
111 result = .true. ; return
112 elseif ( diff1 % mon < diff2 % mon ) then
113 result = .false. ; return
114 end if
115 if ( diff1 % day > diff2 % day ) then
116 result = .true. ; return
117 elseif ( diff1 % day < diff2 % day ) then
118 result = .false. ; return
119 end if
120 if ( diff1 % sec > diff2 % sec ) then
121 result = .true. ; return
122 elseif ( diff1 % sec < diff2 % sec ) then
123 result = .false. ; return
124 end if
125 result = .false.
126 else
127
128 if (evalsec(diff1) > evalsec(diff2)) then
129 result = .true.
130 else
131 result = .false.
132 end if
133 end if
dc_date より提供される手続の引用仕様宣言
日付・時刻に関する構造データ型と定数
精密な時間演算のための秒スケールモジュール

◆ dcdatetime_gt_fi()

logical function dcdatetime_gt_fi ( type(dc_difftime), intent(in)  diff,
integer, intent(in)  factor 
)

DC_DIFFTIME と整数の比較 (>)

2 つの引数の日時差を比較します. 1 つ目の引数に格納される日時差が 2 つ目の引数に格納される日時差 よりも大きい場合, .true. が返ります.

Parameters
[in]diff比較する日時差
[in]factor比較する整数値
Returns
diff > factor の場合 .true., それ以外は .false.

Definition at line 159 of file dcdatetimegt.f90.

160
161 use dc_date_generic, only: evalsec
162 use dc_date_types, only: dc_difftime
163 implicit none
164 type(DC_DIFFTIME), intent(in):: diff
165 integer, intent(in):: factor
166continue
167 result = evalsec(diff) > factor

◆ dcdatetime_gt_if()

logical function dcdatetime_gt_if ( integer, intent(in)  factor,
type(dc_difftime), intent(in)  diff 
)

整数と DC_DIFFTIME の比較 (>)

2 つの引数の日時差を比較します. 1 つ目の引数に格納される日時差が 2 つ目の引数に格納される日時差 よりも大きい場合, .true. が返ります.

Parameters
[in]factor比較する整数値
[in]diff比較する日時差
Returns
factor > diff の場合 .true., それ以外は .false.

Definition at line 193 of file dcdatetimegt.f90.

194
195 use dc_date_generic, only: evalsec
196 use dc_date_types, only: dc_difftime
197 implicit none
198 integer, intent(in):: factor
199 type(DC_DIFFTIME), intent(in):: diff
200continue
201 result = factor > evalsec(diff)

◆ dcdatetime_gt_tt()

logical function dcdatetime_gt_tt ( type(dc_datetime), intent(in)  time1,
type(dc_datetime), intent(in)  time2 
)

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

Author
Yasuhiro MORIKAWA

Definition at line 47 of file dcdatetimegt.f90.

48
51 use dc_scaledsec, only: dc_scaled_sec, &
52 & operator(==), operator(<), operator(>), operator(<=), operator(>=), &
53 & operator(+), operator(-), operator(*), operator(/), &
54 & modulo, int, abs, sign
55 implicit none
56 type(DC_DATETIME), intent(in):: time1, time2
57 type(DC_SCALED_SEC):: year1, year2, time1_sec, time2_sec
58continue
59 call eval(time1, sclyear=year1)
60 call eval(time2, sclyear=year2)
61 if (year1 > year2) then
62 result = .true.
63 elseif (year1 < year2) then
64 result = .false.
65 else
66 time1_sec = evalsclsec(time1) + evalsclsec(zonetodiff(time1 % zone))
67 time2_sec = evalsclsec(time2) + evalsclsec(zonetodiff(time2 % zone))
68 if (time1_sec > time2_sec) then
69 result = .true.
70 else
71 result = .false.
72 end if
73 end if