😸
[C] mktime 関数
機能
指定した日時の struct tm
を、UNIX時刻(1970年1月1日からの秒数)に変換する[1]
使用例
1970-01-01 00:00:00
のUNIX時刻を表示する
\n
は改行を表す エスケープシーケンス[2]
コード
struct tm t = {0};
t.tm_year = 70; // 1970年(1900年からの年数)
t.tm_mon = 0; // 1月(0=1月)
t.tm_mday = 1; // 1日
t.tm_hour = 0;
t.tm_min = 0;
t.tm_sec = 0;
time_t unix_time = mktime(&t);
printf("%ld\n", unix_time);
全文
#include <stdio.h>
#include <time.h>
void main() {
struct tm t = {0};
t.tm_year = 70; // 1970年
t.tm_mon = 0; // 1月
t.tm_mday = 1; // 1日
t.tm_hour = 0;
t.tm_min = 0;
t.tm_sec = 0;
time_t unix_time = mktime(&t);
printf("%ld\n", unix_time);
}
実行結果
0
2023-12-31 23:59:59
を変数から表示する
コード
struct tm t = {0};
t.tm_year = 123; // 2023年
t.tm_mon = 11; // 12月
t.tm_mday = 31;
t.tm_hour = 23;
t.tm_min = 59;
t.tm_sec = 59;
time_t unix_time = mktime(&t);
printf("%ld\n", unix_time);
全文
#include <stdio.h>
#include <time.h>
void main() {
struct tm t = {0};
t.tm_year = 123; // 2023年
t.tm_mon = 11; // 12月
t.tm_mday = 31;
t.tm_hour = 23;
t.tm_min = 59;
t.tm_sec = 59;
time_t unix_time = mktime(&t);
printf("%ld\n", unix_time);
}
実行結果
1704044399
Discussion