Loading...
Searching...
No Matches
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 67 of file dcdatetimeadd.f90.

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_normalize(day, sec, day_seconds, nondim_flag)
subroutine, public dcdate_nondimcheck(opr, diff1, diff2, rslt)
種別型パラメタを提供します。
Definition dc_types.f90:49
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:83

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

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 51 of file dcdatetimeadd.f90.

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('dc_date#operator(+)', diff1, diff2, result)
64 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)

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

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 97 of file dcdatetimeadd.f90.

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 )

References dc_types::dp.

◆ dcdatetime_add_fr()

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

Definition at line 84 of file dcdatetimeadd.f90.

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 )

References dc_types::dp.

◆ 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 10 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)
integer, save, public caltype

References dc_date_types::caltype.

◆ 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 39 of file dcdatetimeadd.f90.

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

References dc_types::dp.