计算到晚上 9 点(今天或明天)的分钟数的最简单方法是什么?
正在查看 mktime(),但要处理所有这些似乎很麻烦。
最佳答案
只需计算今天晚上 9 点的差值。如果它是负数,则添加 24 小时以获得 明天 晚上 9 点的增量。
#include <stdio.h>
#include <time.h>
int main(int argc, char* argv[]) {
struct tm* tm;
time_t ts=time(NULL);
if(tm=localtime(&ts)) {
long int delta;
tm->tm_hour = 21;
tm->tm_min = 0;
tm->tm_sec = 0;
delta = mktime(tm) - ts;
if(delta<0) {
delta+=24*60*60;
}
printf("%d minutes til (next)9pm\n",delta/60);
}
return 0;
}
关于计算到特定时间的分钟数? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515006/