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 
)

Definition at line 75 of file dcdatetimesub.f90.

78 use dc_scaledsec, only: operator(-)
79 use dc_types, only: dp
80 implicit none
81 type(DC_DIFFTIME):: result
82 type(DC_DIFFTIME), intent(in):: diff
83 real(DP), intent(in):: sec
84 continue
85 result % mon = diff % mon
86 result % day = diff % day
87 result % sec = diff % sec - sec
88 result % day_seconds = diff % day_seconds
89 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
Provides kind type parameter values.
Definition dc_types.f90:49
integer, parameter, public dp
Double Precision Real number
Definition dc_types.f90:83

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 
)

Definition at line 59 of file dcdatetimesub.f90.

62 use dc_scaledsec, only: operator(-)
63 implicit none
64 type(DC_DIFFTIME):: result
65 type(DC_DIFFTIME), intent(in):: diff1, diff2
66 continue
67 result % mon = diff1 % mon - diff2 % mon
68 result % day = diff1 % day - diff2 % day
69 result % sec = diff1 % sec - diff2 % sec
70 result % day_seconds = diff1 % day_seconds
71 call dcdate_nondimcheck('dc_date#operator(-)', diff1, diff2, result)
72 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 
)

Definition at line 105 of file dcdatetimesub.f90.

106 use dc_date_generic, only: operator(-)
108 use dc_scaledsec, only: operator(-)
109 use dc_types, only: dp
110 implicit none
111 type(DC_DIFFTIME):: result
112 type(DC_DIFFTIME), intent(in):: diff
113 integer, intent(in):: sec
114 continue
115 result = diff - real( sec, dp )

References dc_types::dp.

◆ dcdatetime_sub_fr()

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

Definition at line 92 of file dcdatetimesub.f90.

93 use dc_date_generic, only: operator(-)
95 use dc_scaledsec, only: operator(-)
96 use dc_types, only: dp
97 implicit none
98 type(DC_DIFFTIME):: result
99 type(DC_DIFFTIME), intent(in):: diff
100 real, intent(in):: sec
101 continue
102 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 
)

Definition at line 10 of file dcdatetimesub.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_DATETIME), intent(in):: time
24 type(DC_DIFFTIME), intent(in):: diff
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, &
30 & sclyear = time_year, sclmon = time_mon, sclday = time_day, &
31 & sclsec = time_sec, caltype = time_caltype, zone = time_zone )
32 call dcdatetimecreate(result, &
33 & sclyear = time_year, &
34 & sclmon = time_mon - diff % mon, &
35 & sclday = time_day - diff % day, &
36 & sclsec = time_sec - diff % sec, &
37 & 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 
)

Definition at line 40 of file dcdatetimesub.f90.

41 use dc_date_generic, only: evalsclsec, zonetodiff, operator(-)
44 use dc_scaledsec, only: dc_scaled_sec, &
45 & operator(<), operator(>), operator(<=), operator(>=), &
46 & operator(+), operator(-), operator(*), operator(/), &
47 & modulo, int, abs, sign
48 implicit none
49 type(DC_DIFFTIME):: result
50 type(DC_DATETIME), intent(in):: time1, time2
51 continue
52 result % day = time1 % day - time2 % day
53 result % sec = time1 % sec - time2 % sec &
54 & + evalsclsec(zonetodiff(time1 % zone) - zonetodiff(time2 % zone))
55 result % day_seconds = time1 % day_seconds
56 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: