日時の取り扱い

日付と時間の操作については、アルデックは次のVHDL関数を用意しています。

この関数群はインストール済みaldecライブラリのaldec_toolsパッケージに格納されています。利用には、次のlibrary文とuse文を追加します。

library aldec;
use aldec.aldec_tools.all;

clocktime_rec レコード

先ほどの関数群はUNIX/POSIX形式で記述された値を取り扱います。この形式で書かれ、秒・時・月・年などの日常で使われる形に変換された時間は、clocktime_rec レコードのフィールドに格納されます。このレコードの宣言文はaldec_toolsパッケージにあります。

epoch定数

epoch 定数はclocktime_rec型のレコードで、このtime_value_secフィールドは-1で、それ以降のフィールドには、Unix epochであるCoordinated Universal Time (UTC), 1970年1月1日(木) 00:00:00が格納されます。get_asctime() 関数は、この定数がパラメータとして渡された場合、現在のシステム時間を取り扱います。

get_clocktime() 関数

この関数はt パラメータで指定された時間を表すclocktime_rec型のレコードを返します。パラメータの値はCoordinated Universal Time (UTC), 1970年1月1日(木) 00:00:00から経過した秒数として解釈されます。-1が渡されるか、t パラメータが省略された場合、この関数はシステム時間を表すレコードを返します。ローカライズされたパラメータが真の場合、システム設定で指定された現地時間が使われます。それ以外の場合、UTC時間が適用されます。

impure function get_clocktime(t : in time_value_t := -1; localize : in boolean := true) return clocktime_rec;

戻り値

tパラメータで指定された時間、または現在のシステム時間を表すclocktime_rec型のレコード。

get_asctime() 関数

この関数はtrパラメータで指定されたclocktime_recレコードに格納された日時を表す文字列を返します。epoch 定数が渡されるか、パラメータが省略された場合、この関数はシステムクロックの示す日時を返します。

impure function get_asctime(tr : in clocktime_rec := epoch) return string;

戻り値

日時を表す文字列。

get_local_timezone() 関数

この関数はシステムクロックの保持する時間帯を返します。

impure function get_local_timezone( tr : in clocktime_rec := epoch ) return string;

戻り値

時間帯を表す文字列。



Printed version of site: support.aldec.com/jp/support/resources/documentation/articles/1819