dcdatetimeadd.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

type(dc_datetime) function dcdatetime_add_ft (diff, time)
 
type(dc_datetime) function dcdatetime_add_tf (time, diff)
 
type(dc_difftime) function dcdatetime_add_ff (diff1, diff2)
 
type(dc_difftime) function dcdatetime_add_fd (diff, sec)
 
type(dc_difftime) function dcdatetime_add_fr (diff, sec)
 
type(dc_difftime) function dcdatetime_add_fi (diff, sec)
 

Function/Subroutine Documentation

◆ dcdatetime_add_fd()

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

Definition at line 68 of file dcdatetimeadd.f90.

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

70  use dc_scaledsec, only: operator(+)
71  use dc_types, only: dp
72  implicit none
73  type(dc_difftime):: result
74  type(dc_difftime), intent(in):: diff
75  real(DP), intent(in):: sec
76  continue
77  result % mon = diff % mon
78  result % day = diff % day
79  result % sec = diff % sec + sec
80  result % day_seconds = diff % day_seconds
81  call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
subroutine, public dcdate_nondimcheck(opr, diff1, diff2, rslt)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
Here is the call graph for this function:

◆ dcdatetime_add_ff()

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

Definition at line 52 of file dcdatetimeadd.f90.

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

54  use dc_scaledsec, only: operator(+)
55  implicit none
56  type(dc_difftime):: result
57  type(dc_difftime), intent(in):: diff1, diff2
58  continue
59  result % mon = diff1 % mon + diff2 % mon
60  result % day = diff1 % day + diff2 % day
61  result % sec = diff1 % sec + diff2 % sec
62  result % day_seconds = diff1 % day_seconds
63  call dcdate_nondimcheck(operator'dc_date#(+)', diff1, diff2, result)
64  call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
subroutine, public dcdate_nondimcheck(opr, diff1, diff2, rslt)
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
Here is the call graph for this function:

◆ dcdatetime_add_fi()

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

Definition at line 98 of file dcdatetimeadd.f90.

References dc_types::dp.

99  use dc_date_generic, only: operator(+)
100  use dc_scaledsec, only: operator(+)
101  use dc_types, only: dp
102  implicit none
103  type(dc_difftime):: result
104  type(dc_difftime), intent(in):: diff
105  integer, intent(in):: sec
106  continue
107  result = diff + real( sec, dp )
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49

◆ dcdatetime_add_fr()

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

Definition at line 85 of file dcdatetimeadd.f90.

References dc_types::dp.

86  use dc_date_generic, only: operator(+)
87  use dc_scaledsec, only: operator(+)
88  use dc_types, only: dp
89  implicit none
90  type(dc_difftime):: result
91  type(dc_difftime), intent(in):: diff
92  real, intent(in):: sec
93  continue
94  result = diff + real( sec, dp )
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49

◆ dcdatetime_add_ft()

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

Definition at line 11 of file dcdatetimeadd.f90.

11  !
12  ! 2 つの日時 (DC_DATETIME 型) もしくは
13  ! 日時差 (DC_DIFFTIME 型)の加算を行います.
14  !
17  use dc_scaledsec, only: dc_scaled_sec, &
18  & operator(<), operator(>), operator(<=), operator(>=), &
19  & operator(+), operator(-), operator(*), operator(/), &
20  & modulo, int, abs, sign
21  implicit none
22  type(dc_datetime):: result
23  type(dc_difftime), intent(in):: diff
24  type(dc_datetime), intent(in):: time
25  type(dc_scaled_sec):: time_year, time_mon, time_day, time_sec
26  integer:: time_caltype
27  character(6):: time_zone
28  continue
29  call eval(time, sclyear = time_year, sclmon = time_mon, &
30  & sclday = time_day, sclsec = time_sec, &
31  & caltype = time_caltype, zone = time_zone)
32  call dcdatetimecreate(result, sclyear = time_year, &
33  & sclmon = time_mon + diff % mon, &
34  & sclday = time_day + diff % day, &
35  & sclsec = time_sec + diff % sec, &
36  & caltype = time_caltype, zone = time_zone)

◆ dcdatetime_add_tf()

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

Definition at line 40 of file dcdatetimeadd.f90.

References dc_types::dp.

40  use dc_date_generic, only: operator(+)
42  use dc_types, only: dp
43  implicit none
44  type(dc_datetime):: result
45  type(dc_datetime), intent(in):: time
46  type(dc_difftime), intent(in):: diff
47  continue
48  result = diff + time
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49