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.
