time - 時刻(RTC)
time - 時刻(RTC)
Information
本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。
http://mbed.org/handbook/Time
内蔵のRTC (Real Time Clock) から時刻を得ます。
時刻は1970/1/1からの経過した秒(UNIX時)で管理されています。
RTCを内蔵していないCPUでは使えません。
時刻を得る
val = time(t);
t: (time_t *)
val: UNIX時(time_t)
時刻を設定する
set_time(t);
t: UNIX時(time_t)
時刻を生成する
val = mktime(t);
t: 時刻構造体のポインタ(struct tm)
val: UNIX時
時刻を変換する
val = localtime(t);
t: UNIX時 val: 時刻構造体(struct tm)
時刻を文字列に変換する
strftime(buffer, max, format, t);
例
現在時刻を表示する(struct
#include "mbed.h" int main() { time_t seconds = time(NULL) + (60 * 60 * 9); // JST struct tm *t = localtime(&seconds); printf("%04d/%02d/%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); }
現在時刻を表示する(strftime利用)
#include "mbed.h" int main() { time_t seconds = time(NULL) + (60 * 60 * 9); // JST char buffer[32]; strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); printf("Time as a formatted string = %s", buffer); }
時刻を設定する
#include "mbed.h" int main() { // setup time structure for Wed, 28 Oct 2009 11:35:37 struct tm t; t.tm_sec = 37; // 0-59 t.tm_min = 35; // 0-59 t.tm_hour = 11; // 0-23 t.tm_mday = 28; // 1-31 t.tm_mon = 9; // 0-11 t.tm_year = 109; // year since 1900 // convert to timestamp and set (1256729737) time_t seconds = mktime(&t); set_time(seconds); }
Please log in to post comments.