GadgetSeed  0.9.6
日付時刻

GadgetSeed は日付時刻を取得、設定する機能があります。
GadgetSeed の日付時刻はカーネルタイマと同期しています。
RTC(リアルタムクロック)を持つシステムはRTCより取得される日時と同期させるために時計の進行速度が調整されます。 これらの機能は datetime.h で定義されています。


システム時間構造体

GadgetSeedの日付時刻はシステム時間を元に日付、時刻に変換する機能があります。
システム時間は以下の構造体で定義されています。

st_systime システム時間

システム時間のフィールド sec は32ビット長のUNIX時間(1970/01/01 00:00:00 からの1秒カウンタ)です。
システム時間のフィールド usec は32ビット長のナノ秒カウンタです。(0 - 999999)
システム時間はロケーションに関わらず、UTC時刻を示します。


時刻構造体

時刻情報は時刻を年、月、日、曜日、時、分、秒、ミリ秒で示すデータ構造です。
時刻情報は以下の構造体で定義されています。

st_datetime 時刻構造体


日付時刻API

時間取得API

include ファイル : datetime.h

API名 機能
get_systime() システム時間を取得する
get_systime_sec() システム時間(秒)を取得する
fattime() FAT 現在実時間を取得する

システム時間、時刻情報変換API

include ファイル : datetime.h

API名 機能
unixtime_to_datetime() UNIX時間より時刻を求める
systime_to_datetime() システム時間よりローカル時刻を求める
datetime_to_utc() ローカル西暦年月日、時間よりUTCを求める
datetime_to_systime() ローカル西暦年月日、時間よりシステム時間を求める

時刻情報文字列変換API

include ファイル : datetime.h

API名 機能
date_to_str() 時間を日付文字列に変換する
time_to_str() 時間を時間文字列に変換する
mtime_to_str() 時間をミリ秒時間文字列に変換する
datetime_to_str() 時間を日付時間文字列に変換する
datemtime_to_str() 時間を日付ミリ秒時間文字列に変換する

システム時間設定API

include ファイル : datetime.h

API名 機能
set_systime() UTC時刻からシステム時間を設定する
sync_systime_from_rtc()
adjust_systime()
sync_rtc_from_systime()

RTC制御API

include ファイル : datetime.h

API名 機能
set_rtc()

汎用時間関数

include ファイル : datetime.h

API名 機能
date_to_dayofweek() 西暦年、月、日より曜日を求める
is_leap_year() うるう年か調べる
num_of_day_in_month() うるう月か調べる

周期処理

include ファイル : datetime.h

API名 機能
register_sec_timer_func() 時刻秒更新に同期した1秒周期処理を登録する