dc_date用の内部モジュール More...
Functions/Subroutines | |
| subroutine, public | dcdate_normalize (day, sec, day_seconds, nondim_flag) |
| subroutine, public | dcdate_set_day_seconds_scl |
| subroutine, public | dcdate_nondimcheck (opr, diff1, diff2, rslt) |
| character(token) function, public | dcdate_parse_unit (str) |
dc_date用の内部モジュール
| subroutine, public dc_date_internal::dcdate_nondimcheck | ( | character(*), intent(in) | opr, |
| type(dc_difftime), intent(in) | diff1, | ||
| type(dc_difftime), intent(in) | diff2, | ||
| type(dc_difftime), intent(inout) | rslt | ||
| ) |
次元の整合性をチェックします
diff1 と diff2 が両方とも有次元もしくは無次元かをチェックし, 両方が同じであれば, その結果を rslt に適用します. 2つの引数で片方が有次元, もう片方が無次元の場合には エラーを発生させます.
このサブルーチンは内部向けなので dc_date モジュール外では 極力使用しないでください.
| [in] | opr | 演算子の名称 |
| [in] | diff1 | 第1オペランド |
| [in] | diff2 | 第2オペランド |
| [in,out] | rslt | 結果オペランド |
Definition at line 186 of file dc_date_internal.f90.
References dc_error::dc_edimtime, and dc_error::storeerror().
| subroutine, public dc_date_internal::dcdate_normalize | ( | type(dc_scaled_sec), intent(inout) | day, |
| type(dc_scaled_sec), intent(inout) | sec, | ||
| type(dc_scaled_sec), intent(in), optional | day_seconds, | ||
| logical, intent(in) | nondim_flag | ||
| ) |
日と秒の正規化を行います
日付 day と秒数 sec の正規化を行います. sec が day_seconds を超える場合, day に繰上げを行います. また, sec と day の符号が逆の場合, 同符号になるよう設定します.
このサブルーチンは内部向けなので dc_date モジュール外では 極力使用しないでください.
| [in,out] | day | 日 |
| [in,out] | sec | 秒 |
| [in] | day_seconds | 1日の秒数 (オプション) |
| [in] | nondim_flag | 無次元フラグ |
Definition at line 93 of file dc_date_internal.f90.
References dc_date_types::day_seconds, dc_date_types::day_seconds_scl, dcdate_set_day_seconds_scl(), and dc_date_types::flag_set_day_seconds_scl.
| character(token) function, public dc_date_internal::dcdate_parse_unit | ( | character(*), intent(in) | str | ) |
時間単位文字列を解析しシンボルを返します
引数 str に与えられた文字列を解釈し, 日時の単位を示す シンボルを返します. 以下の文字列が日時の単位として解釈されます. 大文字と小文字は区別されません.
| 単位 | シンボル定数 |
|---|---|
| 年 | UNIT_SYMBOL_YEAR |
| 月 | UNIT_SYMBOL_MONTH |
| 日 | UNIT_SYMBOL_DAY |
| 時 | UNIT_SYMBOL_HOUR |
| 分 | UNIT_SYMBOL_MIN |
| 秒 | UNIT_SYMBOL_SEC |
| 無次元時間 | UNIT_SYMBOL_NONDIM |
これらに該当しない文字列を str に与えた場合, UNIT_SYMBOL_ERR が返ります.
| [in] | str | 入力単位文字列 |
時間単位文字列を解析し単位文字列を返します
引数 str に与えられた文字列を解釈し, 日時の単位を返します. 大文字と小文字は区別されません. 返る文字列は単位配列の先頭の文字列です. 該当しない文字列の場合は空文字が返ります.
この関数は内部向けなので dc_date モジュール外では 極力使用しないでください.
| [in] | str | 入力単位文字列 |
Definition at line 277 of file dc_date_internal.f90.
References dc_types::token, dc_date_types::unit_day, dc_date_types::unit_hour, dc_date_types::unit_min, dc_date_types::unit_month, dc_date_types::unit_nondim, dc_date_types::unit_sec, and dc_date_types::unit_year.
| subroutine, public dc_date_internal::dcdate_set_day_seconds_scl |
日のスケーリング秒数を設定します
day_seconds_scl のスケーリング秒数値を設定します.
Definition at line 140 of file dc_date_internal.f90.
References dc_date_types::day_seconds, dc_date_types::day_seconds_scl, and dc_date_types::flag_set_day_seconds_scl.