我有一个 unix time_t ,有什么简单的方法可以将它转换为 time_t 所以它:
- 表示 time_t 当天的午夜?
- 表示 time_t 小时的开始?
像这样的东西:
time_t t = time(NULL);
t -= (t % 86400);
常数 86400 = 24 * 60 * 60 - 我认为这是一个需要记住的有用数字...... ;)
让计算机为你记住天体常数:
time_t arg, start_of_hour, start_of_day;
struct tm *temp;
temp = localtime(&arg);
temp->tm_sec = 0;
temp->tm_min = 0;
start_of_hour = mktime(temp);
temp->tm_hour = 0;
start_of_day = mktime(temp);
或者gmtime
,如果您愿意,可以使用。