Conversion from DC_DATETIME/DC_DIFFTIME to date/time components. More...
Go to the source code of this file.
Functions/Subroutines | |
| subroutine | dcdatetimeeval1 (time, year, mon, day, hour, min, sec, caltype, zone, sclyear, sclmon, sclday, sclsec) |
| subroutine | dcdifftimeeval1 (diff, year, mon, day, hour, min, sec, nondim, sclyear, sclmon, sclday, sclsec, sclnondim, err) |
| real(dp) function | dcdatetimeevalday (time) |
| real(dp) function | dcdifftimeevalday (diff) |
| real(dp) function | dcdatetimeevalhour (time) |
| real(dp) function | dcdifftimeevalhour (diff) |
| real(dp) function | dcdatetimeevalmin (time) |
| real(dp) function | dcdifftimeevalmin (diff) |
| real(dp) function | dcdatetimeevalsec (time) |
| real(dp) function | dcdifftimeevalsec (diff) |
| real(dp) function | dcdifftimeevalnondim (diff) |
| type(dc_scaled_sec) function | dcdatetimeevalsclsec (time) |
| type(dc_scaled_sec) function | dcdifftimeevalsclsec (diff) |
| real(dp) function | dcdatetimeevalbyunit (time, unit, unit_symbol) |
| real(dp) function | dcdifftimeevalbyunit (diff, unit, unit_symbol) |
Conversion from DC_DATETIME/DC_DIFFTIME to date/time components.
Procedures provided in this file are available through dc_date module.
Definition in file dcdatetimeeval.f90.
| subroutine dcdatetimeeval1 | ( | type(dc_datetime), intent(in) | time, |
| integer, intent(out), optional | year, | ||
| integer, intent(out), optional | mon, | ||
| integer, intent(out), optional | day, | ||
| integer, intent(out), optional | hour, | ||
| integer, intent(out), optional | min, | ||
| real(dp), intent(out), optional | sec, | ||
| integer, intent(out), optional | caltype, | ||
| character(*), intent(out), optional | zone, | ||
| type(dc_scaled_sec), intent(out), optional | sclyear, | ||
| type(dc_scaled_sec), intent(out), optional | sclmon, | ||
| type(dc_scaled_sec), intent(out), optional | sclday, | ||
| type(dc_scaled_sec), intent(out), optional | sclsec ) |
Convert DC_DATETIME to date/time components
Converts DC_DATETIME variable time to year, month, day, hour, minute, second, calendar type, and timezone.
| [in] | time | DC_DATETIME variable to convert |
| [out] | year | Year (optional) |
| [out] | mon | Month (optional) |
| [out] | day | Day (optional) |
| [out] | hour | Hour (optional) |
| [out] | min | Minute (optional) |
| [out] | sec | Second (optional) |
| [out] | caltype | Calendar type (optional) |
| [out] | zone | Timezone (offset from UTC) (optional) |
| [out] | sclyear | Year as DC_SCALED_SEC (optional) |
| [out] | sclmon | Month as DC_SCALED_SEC (optional) |
| [out] | sclday | Day as DC_SCALED_SEC (optional) |
| [out] | sclsec | Second as DC_SCALED_SEC (optional) |
Definition at line 63 of file dcdatetimeeval.f90.
References dc_trace::beginsub(), dc_date_types::cal_cyclic, dc_date_types::cal_julian, dc_date_types::cal_noleap, dc_date_types::cyclic_mdays, dc_scaledsec::dcscaledsecputline(), dc_types::dp, dc_trace::endsub(), dc_date_types::four_century, dc_date_types::four_years, dc_date_types::hour_seconds, dc_date_types::min_seconds, dc_date_types::year_days, and dc_date_types::year_months.
| real(dp) function dcdatetimeevalbyunit | ( | type(dc_datetime), intent(in) | time, |
| character(*), intent(in) | unit, | ||
| integer, intent(in), optional | unit_symbol ) |
Convert DC_DATETIME by specified unit
Converts DC_DATETIME variable to the specified unit and returns as double precision real.
For unit, the following values can be specified:
For unit_symbol, the following values can be specified:
Returns 0.0 if invalid unit is specified or neither argument is given.
| [in] | time | DC_DATETIME variable to convert |
| [in] | unit | Unit string |
| [in] | unit_symbol | Unit symbol constant (optional) |
Definition at line 807 of file dcdatetimeeval.f90.
References dc_types::dp, dc_date_types::unit_symbol_day, dc_date_types::unit_symbol_err, dc_date_types::unit_symbol_hour, dc_date_types::unit_symbol_min, and dc_date_types::unit_symbol_sec.
| real(dp) function dcdatetimeevalday | ( | type(dc_datetime), intent(in) | time | ) |
Convert DC_DATETIME to days
Converts DC_DATETIME variable to number of days as double precision real. (e.g., 12 hours is converted to 0.5 days)
| [in] | time | DC_DATETIME variable to convert |
Definition at line 354 of file dcdatetimeeval.f90.
References dc_types::dp.
| real(dp) function dcdatetimeevalhour | ( | type(dc_datetime), intent(in) | time | ) |
Convert DC_DATETIME to hours
Converts DC_DATETIME variable to hours as double precision real. (e.g., 2 days is 48 hours, 30 minutes is 0.5 hours)
| [in] | time | DC_DATETIME variable to convert |
Definition at line 426 of file dcdatetimeeval.f90.
References dc_types::dp, and dc_date_types::hour_seconds.
| real(dp) function dcdatetimeevalmin | ( | type(dc_datetime), intent(in) | time | ) |
Convert DC_DATETIME to minutes
Converts DC_DATETIME variable to minutes as double precision real. (e.g., 1 day is 1440 minutes, 30 seconds is 0.5 minutes)
| [in] | time | DC_DATETIME variable to convert |
Definition at line 500 of file dcdatetimeeval.f90.
References dc_types::dp, and dc_date_types::min_seconds.
| type(dc_scaled_sec) function dcdatetimeevalsclsec | ( | type(dc_datetime), intent(in) | time | ) |
Convert DC_DATETIME to seconds as DC_SCALED_SEC
Converts DC_DATETIME variable to seconds as DC_SCALED_SEC type.
| [in] | time | DC_DATETIME variable to convert |
Definition at line 696 of file dcdatetimeeval.f90.
| real(dp) function dcdatetimeevalsec | ( | type(dc_datetime), intent(in) | time | ) |
Convert DC_DATETIME to seconds
Converts DC_DATETIME variable to seconds as double precision real.
| [in] | time | DC_DATETIME variable to convert |
Definition at line 580 of file dcdatetimeeval.f90.
References dc_date_types::day_seconds, and dc_types::dp.
| subroutine dcdifftimeeval1 | ( | type(dc_difftime), intent(in) | diff, |
| integer, intent(out), optional | year, | ||
| integer, intent(out), optional | mon, | ||
| integer, intent(out), optional | day, | ||
| integer, intent(out), optional | hour, | ||
| integer, intent(out), optional | min, | ||
| real(dp), intent(out), optional | sec, | ||
| real(dp), intent(out), optional | nondim, | ||
| type(dc_scaled_sec), intent(out), optional | sclyear, | ||
| type(dc_scaled_sec), intent(out), optional | sclmon, | ||
| type(dc_scaled_sec), intent(out), optional | sclday, | ||
| type(dc_scaled_sec), intent(out), optional | sclsec, | ||
| type(dc_scaled_sec), intent(out), optional | sclnondim, | ||
| logical, intent(out), optional | err ) |
Convert DC_DIFFTIME to time components
Converts DC_DIFFTIME variable diff to year, month, day, hour, minute, second, and nondimensional time.
| [in] | diff | DC_DIFFTIME variable to convert |
| [out] | year | Year (optional) |
| [out] | mon | Month (optional) |
| [out] | day | Day (optional) |
| [out] | hour | Hour (optional) |
| [out] | min | Minute (optional) |
| [out] | sec | Second (optional) |
| [out] | nondim | Nondimensional time (optional) |
| [out] | sclyear | Year as DC_SCALED_SEC (optional) |
| [out] | sclmon | Month as DC_SCALED_SEC (optional) |
| [out] | sclday | Day as DC_SCALED_SEC (optional) |
| [out] | sclsec | Second as DC_SCALED_SEC (optional) |
| [out] | sclnondim | Nondimensional time as DC_SCALED_SEC (optional) |
| [out] | err | Error flag (optional) |
Definition at line 237 of file dcdatetimeeval.f90.
References dc_trace::beginsub(), dc_error::dc_edimtime, dc_error::dc_enodimtime, dc_error::dc_noerr, dc_scaledsec::dcscaledsecputline(), dc_types::dp, dc_trace::endsub(), dc_date_types::hour_seconds, dc_date_types::min_seconds, dc_error::storeerror(), and dc_date_types::year_months.
| real(dp) function dcdifftimeevalbyunit | ( | type(dc_difftime), intent(in) | diff, |
| character(*), intent(in) | unit, | ||
| integer, intent(in), optional | unit_symbol ) |
Convert DC_DIFFTIME by specified unit
Converts DC_DIFFTIME variable to the specified unit and returns as double precision real.
For unit, the following values can be specified:
For unit_symbol, the following values can be specified:
Returns 0.0 if invalid unit is specified or neither argument is given.
| [in] | diff | DC_DIFFTIME variable to convert |
| [in] | unit | Unit string |
| [in] | unit_symbol | Unit symbol constant (optional) |
Definition at line 897 of file dcdatetimeeval.f90.
References dc_types::dp, dc_date_types::unit_symbol_day, dc_date_types::unit_symbol_err, dc_date_types::unit_symbol_hour, dc_date_types::unit_symbol_min, dc_date_types::unit_symbol_nondim, and dc_date_types::unit_symbol_sec.
| real(dp) function dcdifftimeevalday | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to days
Converts DC_DIFFTIME variable to number of days as double precision real. (e.g., 12 hours is converted to 0.5 days)
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 391 of file dcdatetimeeval.f90.
References dc_date_types::cyclic_mdays, and dc_types::dp.
| real(dp) function dcdifftimeevalhour | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to hours
Converts DC_DIFFTIME variable to hours as double precision real. (e.g., 2 days is 48 hours, 30 minutes is 0.5 hours)
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 464 of file dcdatetimeeval.f90.
References dc_date_types::cyclic_mdays, dc_types::dp, and dc_date_types::hour_seconds.
| real(dp) function dcdifftimeevalmin | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to minutes
Converts DC_DIFFTIME variable to minutes as double precision real. (e.g., 1 day is 1440 minutes, 30 seconds is 0.5 minutes)
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 538 of file dcdatetimeeval.f90.
References dc_date_types::cyclic_mdays, dc_types::dp, and dc_date_types::min_seconds.
| real(dp) function dcdifftimeevalnondim | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to nondimensional time
Converts DC_DIFFTIME variable to nondimensional time as double precision real.
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 658 of file dcdatetimeeval.f90.
References dc_types::dp.
| type(dc_scaled_sec) function dcdifftimeevalsclsec | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to seconds as DC_SCALED_SEC
Converts DC_DIFFTIME variable to seconds as DC_SCALED_SEC type.
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 731 of file dcdatetimeeval.f90.
References dc_date_types::cyclic_mdays.
| real(dp) function dcdifftimeevalsec | ( | type(dc_difftime), intent(in) | diff | ) |
Convert DC_DIFFTIME to seconds
Converts DC_DIFFTIME variable to seconds as double precision real.
One month is converted using dc_date_types#CYCLIC_MDAYS.
| [in] | diff | DC_DIFFTIME variable to convert |
Definition at line 617 of file dcdatetimeeval.f90.
References dc_date_types::cyclic_mdays, dc_date_types::day_seconds, and dc_types::dp.