Go to the source code of this file.
Functions/Subroutines | |
| subroutine | dcdatetimecreate1 (time, year, mon, day, hour, min, sec, zone, zone_hour, zone_min, caltype, caltype_str, day_seconds, sclyear, sclmon, sclday, sclsec, err) |
| dc_date_types#DC_DATETIME, dc_date_types#DC_DIFFTIME 型変数の生成 | |
| subroutine | get_current_time (jyear, jmon, jday, jsec, jzone) |
| subroutine | dcdifftimecreate1 (diff, year, mon, day, hour, min, sec, day_seconds, nondim, sclyear, sclmon, sclday, sclsec) |
| subroutine | dcdifftimecreate2d (diff, value, unit, unit_symbol, err) |
| subroutine | dcdifftimecreate2r (diff, value, unit, unit_symbol, err) |
| subroutine | dcdifftimecreate2i (diff, value, unit, unit_symbol, err) |
| subroutine | dcdatetimecreatei (time, sec) |
| subroutine | dcdatetimecreater (time, sec) |
| subroutine | dcdatetimecreated (time, sec) |
| subroutine | dcdifftimecreatei (diff, sec) |
| subroutine | dcdifftimecreater (diff, sec) |
| subroutine | dcdifftimecreated (diff, sec) |
| subroutine | dcdatetimecreate1_bc (time, year, mon, day, hour, min, sec, zone, caltype, day_seconds, err) |
| subroutine | dcdifftimecreate1_bc (diff, year, mon, day, hour, min, sec, day_seconds) |
| subroutine | dcdifftimecreate2_bc (diff, value, unit, err) |
| subroutine dcdatetimecreate1 | ( | type(dc_datetime), intent(out) | time, |
| integer, intent(in), optional | year, | ||
| integer, intent(in), optional | mon, | ||
| integer, intent(in), optional | day, | ||
| integer, intent(in), optional | hour, | ||
| integer, intent(in), optional | min, | ||
| real(dp), intent(in), optional | sec, | ||
| character(*), intent(in), optional | zone, | ||
| integer, intent(in), optional | zone_hour, | ||
| integer, intent(in), optional | zone_min, | ||
| integer, intent(in), optional | caltype, | ||
| character(*), intent(in), optional | caltype_str, | ||
| real(dp), intent(in), optional | day_seconds, | ||
| type(dc_scaled_sec), intent(in), optional | sclyear, | ||
| type(dc_scaled_sec), intent(in), optional | sclmon, | ||
| type(dc_scaled_sec), intent(in), optional | sclday, | ||
| type(dc_scaled_sec), intent(in), optional | sclsec, | ||
| logical, intent(out), optional | err ) |
dc_date_types#DC_DATETIME, dc_date_types#DC_DIFFTIME 型変数の生成
このファイルで提供される手続き群は dc_date モジュールにて提供されます.
DC_DATETIME 型変数を生成
dc_date_types#DC_DATETIME 型変数の生成を行います. 引数 year, mon, day, hour, min, sec の全てを与えない場合, このサブルーチンが呼ばれた際の時刻が使用されます.
引数 caltype には暦法を設定します. dc_date_types#CAL_CYCLIC, dc_date_types#CAL_NOLEAP, dc_date_types#CAL_JULIAN, dc_date_types#CAL_GREGORIAN のいづれかを与えてください. 引数 caltype を指定しない場合, 暦法は dc_date_types#CAL_GREGORIAN に設定されます. 暦法は caltype_str に文字列を与えることでも指定可能です. 上記の暦法に対応する文字列は以下の通りです. (大文字小文字は区別しません)
| caltype | caltype_str |
|---|---|
| dc_date_types#CAL_CYCLIC | cyclic |
| dc_date_types#CAL_NOLEAP | noleap |
| dc_date_types#CAL_JULIAN | julian |
| dc_date_types#CAL_GREGORIAN | gregorian |
引数 zone には UTC からの時差を設定します. '+09:00' や '-13:00' のように時差を 6 文字で指定してください. 引数 zone を指定しない場合, date_and_time 組み込みサブルーチン によって得られる時差を設定します. 時差は zone_hour または zone_min に整数型を与えることでも 指定可能です.
引数 day_seconds には 1 日何秒かを設定します. この引数を 指定しない場合, dc_date_types::day_seconds の値が用いられます. dc_date_types::day_seconds は SetSecOfDay で変更可能です.
引数 caltype および, zone に不適切な値が与えられた場合, エラーを発生させます. 引数 err を与えている場合には err に .true. が返り, プログラムは続行します.
| [out] | time | 生成される DC_DATETIME 変数 |
| [in] | year | 年 |
| [in] | mon | 月 |
| [in] | day | 日 |
| [in] | hour | 時 |
| [in] | min | 分 |
| [in] | sec | 秒 |
| [in] | zone | UTC からの時差 |
| [in] | zone_hour | UTC からの時差 (時) |
| [in] | zone_min | UTC からの時差 (分) |
| [in] | caltype | 暦法 |
| [in] | caltype_str | 暦法 (文字型による指定) |
| [in] | day_seconds | 1 日の秒数 |
| [in] | sclyear | 年 (DC_SCALED_SEC 型) |
| [in] | sclmon | 月 (DC_SCALED_SEC 型) |
| [in] | sclday | 日 (DC_SCALED_SEC 型) |
| [in] | sclsec | 秒 (DC_SCALED_SEC 型) |
| [out] | err | 例外処理用フラグ |
Definition at line 134 of file dcdatetimecreate.f90.
References dc_trace::beginsub(), dc_date_types::cal_cyclic, dc_date_types::cal_gregorian, dc_date_types::cal_julian, dc_date_types::cal_noleap, dc_date_types::caltype, dc_date_types::cyclic_mdays, dc_date_types::day_seconds_scl, dc_error::dc_ebadcaltype, dc_error::dc_ebadtimezone, dc_error::dc_noerr, dc_date_internal::dcdate_set_day_seconds_scl(), dc_scaledsec::dcscaledsecputline(), dc_types::dp, dc_trace::endsub(), dc_date_types::flag_set_day_seconds_scl, dc_date_types::four_years, get_current_time(), dc_date_types::hour_seconds, dc_date_types::min_seconds, dc_error::storeerror(), dc_types::string, and dc_date_types::year_months.
| subroutine dcdatetimecreate1_bc | ( | type(dc_datetime), intent(out) | time, |
| integer, intent(in), optional | year, | ||
| integer, intent(in), optional | mon, | ||
| integer, intent(in), optional | day, | ||
| integer, intent(in), optional | hour, | ||
| integer, intent(in), optional | min, | ||
| real(dp), intent(in), optional | sec, | ||
| character(*), intent(in), optional | zone, | ||
| integer, intent(in), optional | caltype, | ||
| real(dp), intent(in), optional | day_seconds, | ||
| logical, intent(out), optional | err ) |
DC_DATETIME 生成 (後方互換用)
Definition at line 1006 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdatetimecreated | ( | type(dc_datetime), intent(out) | time, |
| real(dp), intent(in) | sec ) |
倍精度秒数から DC_DATETIME 型変数を生成
| [out] | time | 生成される DC_DATETIME 変数 |
| [in] | sec | 秒数 (倍精度) |
Definition at line 896 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdatetimecreatei | ( | type(dc_datetime), intent(out) | time, |
| integer, intent(in) | sec ) |
整数秒数から DC_DATETIME 型変数を生成
dc_date_types#DC_DATETIME 型変数の生成を行います. 引数 sec には秒数を与えてください. 年月日, 時分を使って 指定を行いたい場合は Create を利用してください.
| [out] | time | 生成される DC_DATETIME 変数 |
| [in] | sec | 秒数 (整数) |
Definition at line 840 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdatetimecreater | ( | type(dc_datetime), intent(out) | time, |
| real, intent(in) | sec ) |
単精度秒数から DC_DATETIME 型変数を生成
dc_date_types#DC_DATETIME 型変数の生成を行います. 引数 sec には秒数を与えてください. 年月日, 時分を使って 指定を行いたい場合は Create を利用してください.
| [out] | time | 生成される DC_DATETIME 変数 |
| [in] | sec | 秒数 (単精度) |
Definition at line 873 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreate1 | ( | type(dc_difftime), intent(out) | diff, |
| integer, intent(in), optional | year, | ||
| integer, intent(in), optional | mon, | ||
| integer, intent(in), optional | day, | ||
| integer, intent(in), optional | hour, | ||
| integer, intent(in), optional | min, | ||
| real(dp), intent(in), optional | sec, | ||
| real(dp), intent(in), optional | day_seconds, | ||
| real(dp), intent(in), optional | nondim, | ||
| type(dc_scaled_sec), intent(in), optional | sclyear, | ||
| type(dc_scaled_sec), intent(in), optional | sclmon, | ||
| type(dc_scaled_sec), intent(in), optional | sclday, | ||
| type(dc_scaled_sec), intent(in), optional | sclsec ) |
DC_DIFFTIME 型変数を生成
dc_date_types#DC_DIFFTIME 型変数の生成を行います. 引数 year, mon, day, hour, min, sec, nondim を与えない場合, 0 が与えられたことになります.
引数 day_seconds には 1 日何秒かを設定します. この引数を 指定しない場合, dc_date_types::day_seconds の値が用いられます. dc_date_types::day_seconds は SetSecOfDay で変更可能です.
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | year | 年 |
| [in] | mon | 月 |
| [in] | day | 日 |
| [in] | hour | 時 |
| [in] | min | 分 |
| [in] | sec | 秒 |
| [in] | day_seconds | 1 日の秒数 |
| [in] | nondim | 無次元時間 |
| [in] | sclyear | 年 (DC_SCALED_SEC 型) |
| [in] | sclmon | 月 (DC_SCALED_SEC 型) |
| [in] | sclday | 日 (DC_SCALED_SEC 型) |
| [in] | sclsec | 秒 (DC_SCALED_SEC 型) |
Definition at line 470 of file dcdatetimecreate.f90.
References dc_trace::beginsub(), dc_date_types::day_seconds, dc_date_internal::dcdate_normalize(), dc_scaledsec::dcscaledsecputline(), dc_types::dp, dc_trace::endsub(), dc_date_types::hour_seconds, dc_date_types::min_seconds, dc_types::string, and dc_date_types::year_months.
| subroutine dcdifftimecreate1_bc | ( | type(dc_difftime), intent(out) | diff, |
| integer, intent(in), optional | year, | ||
| integer, intent(in), optional | mon, | ||
| integer, intent(in), optional | day, | ||
| integer, intent(in), optional | hour, | ||
| integer, intent(in), optional | min, | ||
| real(dp), intent(in), optional | sec, | ||
| real(dp), intent(in), optional | day_seconds ) |
DC_DIFFTIME 生成 (後方互換用)
Definition at line 1030 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreate2_bc | ( | type(dc_difftime), intent(out) | diff, |
| real(dp), intent(in) | value, | ||
| character(*), intent(in) | unit, | ||
| logical, intent(out), optional | err ) |
値と単位から DC_DIFFTIME 生成 (後方互換用)
Definition at line 1049 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreate2d | ( | type(dc_difftime), intent(out) | diff, |
| real(dp), intent(in) | value, | ||
| character(*), intent(in) | unit, | ||
| integer, intent(in), optional | unit_symbol, | ||
| logical, intent(out), optional | err ) |
値と単位から DC_DIFFTIME 型変数を生成
dc_date_types#DC_DIFFTIME 型変数の生成を行います. 引数 value に数値を, unit に単位を表す文字列を, または unit_symbol に単位を表すシンボルを与えてください.
unit に指定できるのは以下の文字列です. (大文字小文字は区別しません).
| 単位 | 文字列 |
|---|---|
| 年 | dc_date_types#UNIT_YEAR |
| 月 | dc_date_types#UNIT_MONTH |
| 日 | dc_date_types#UNIT_DAY |
| 時 | dc_date_types#UNIT_HOUR |
| 分 | dc_date_types#UNIT_MIN |
| 秒 | dc_date_types#UNIT_SEC |
| 無次元時間 | dc_date_types#UNIT_NONDIM |
これらに該当しない文字列を unit に与えた場合, エラーを発生させます.
unit_symbol に指定できるのは以下のシンボルです.
| 単位 | シンボル |
|---|---|
| 年 | dc_date_types#UNIT_SYMBOL_YEAR |
| 月 | dc_date_types#UNIT_SYMBOL_MONTH |
| 日 | dc_date_types#UNIT_SYMBOL_DAY |
| 時 | dc_date_types#UNIT_SYMBOL_HOUR |
| 分 | dc_date_types#UNIT_SYMBOL_MIN |
| 秒 | dc_date_types#UNIT_SYMBOL_SEC |
| 無次元時間 | dc_date_types#UNIT_SYMBOL_NONDIM |
これらに該当しないシンボルを unit_symbol に与えた場合, エラーを発生させます.
引数 err を与えている場合には err に .true. が返り, プログラムは続行します.
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | value | 値 |
| [in] | unit | 単位文字列 |
| [in] | unit_symbol | 単位シンボル |
| [out] | err | 例外処理用フラグ |
Definition at line 679 of file dcdatetimecreate.f90.
References dc_trace::beginsub(), dc_date_types::cyclic_mdays, dc_date_types::day_seconds, dc_error::dc_ebadunit, 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(), dc_types::string, 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_month, dc_date_types::unit_symbol_nondim, dc_date_types::unit_symbol_sec, dc_date_types::unit_symbol_year, and dc_date_types::year_months.
| subroutine dcdifftimecreate2i | ( | type(dc_difftime), intent(out) | diff, |
| integer, intent(in) | value, | ||
| character(*), intent(in) | unit, | ||
| integer, intent(in), optional | unit_symbol, | ||
| logical, intent(out), optional | err ) |
整数値と単位から DC_DIFFTIME 型変数を生成
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | value | 値 (整数) |
| [in] | unit | 単位文字列 |
| [in] | unit_symbol | 単位シンボル |
| [out] | err | 例外処理用フラグ |
Definition at line 805 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreate2r | ( | type(dc_difftime), intent(out) | diff, |
| real, intent(in) | value, | ||
| character(*), intent(in) | unit, | ||
| integer, intent(in), optional | unit_symbol, | ||
| logical, intent(out), optional | err ) |
単精度値と単位から DC_DIFFTIME 型変数を生成
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | value | 値 (単精度) |
| [in] | unit | 単位文字列 |
| [in] | unit_symbol | 単位シンボル |
| [out] | err | 例外処理用フラグ |
Definition at line 774 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreated | ( | type(dc_difftime), intent(out) | diff, |
| real(dp), intent(in) | sec ) |
倍精度秒数から DC_DIFFTIME 型変数を生成
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | sec | 秒数 (倍精度) |
Definition at line 985 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreatei | ( | type(dc_difftime), intent(out) | diff, |
| integer, intent(in) | sec ) |
整数秒数から DC_DIFFTIME 型変数を生成
dc_date_types#DC_DIFFTIME 型変数の生成を行います. 引数 sec には秒数を与えてください. 年月日, 時分を使って 指定を行いたい場合は Create を利用してください.
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | sec | 秒数 (整数) |
Definition at line 929 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdifftimecreater | ( | type(dc_difftime), intent(out) | diff, |
| real, intent(in) | sec ) |
単精度秒数から DC_DIFFTIME 型変数を生成
dc_date_types#DC_DIFFTIME 型変数の生成を行います. 引数 sec には秒数を与えてください. 年月日, 時分を使って 指定を行いたい場合は Create を利用してください.
| [out] | diff | 生成される DC_DIFFTIME 変数 |
| [in] | sec | 秒数 (単精度) |
Definition at line 962 of file dcdatetimecreate.f90.
References dc_types::dp.
| subroutine dcdatetimecreate1::get_current_time | ( | integer, intent(out) | jyear, |
| integer, intent(out) | jmon, | ||
| integer, intent(out) | jday, | ||
| real(dp), intent(out) | jsec, | ||
| character(*), intent(out) | jzone ) |
date_and_time 組み込みサブルーチンを用いて現在時刻を取得
date_and_time 組み込みサブルーチンを用いて, 現在 時刻と UTC からの時差を返します.
| [out] | jyear | 年 |
| [out] | jmon | 月 |
| [out] | jday | 日 |
| [out] | jsec | 秒 |
| [out] | jzone | タイムゾーン |
Definition at line 391 of file dcdatetimecreate.f90.
References dc_date_types::hour_seconds, and dc_date_types::min_seconds.