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);
}

詳細 戻る (back)


Please log in to post comments.