Linux比较时间的大小

征途开始 2017-10-30 03:59:55
Linux如何比较两个时间的大小,不包括日期。
如20:30:00和09:00:00进行比较
难道只能将数字分别提取出来进行比较么?这种方法有点low啊。我看Unix时间戳的函数并没有比较时间大小的。
...全文
1382 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Acuity. 2017-11-02
  • 打赏
  • 举报
回复
一致通过,比较秒数!
ipqtjmqj 2017-11-02
  • 打赏
  • 举报
回复
一天86400秒,所以如果不包含日期,时间戳对86400取余后的值比较大小就可以了。当然这是针对国际标准时间,北京时间快8小时,也可以时间戳加上8*3600后的值再取余
迷茫的蜉蝣 2017-11-01
  • 打赏
  • 举报
回复
不是有转换成秒的函数吗 比较秒数啊 或者装换成字符串比较
9527 2017-10-31
  • 打赏
  • 举报
回复
直接字符串比较不就可以了? strcmp
mymtom 2017-10-31
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <time.h>
#include <string.h>

/* output:
t1-t2=41400
*/

int
main(void)
{
        char s1[] = "20:30:00", s2[] = "09:00:00";
        struct tm tm1, tm2;
        time_t t1, t2;

        memset(&tm1, 0, sizeof(tm1));
        memset(&tm2, 0, sizeof(tm2));
        strptime(s1, "%H:%M:%S", &tm1);
        strptime(s2, "%H:%M:%S", &tm2);
        t1 = mktime(&tm1);
        t2 = mktime(&tm2);

        printf("t1-t2=%d\n", (int)(t1 - t2));
        return 0;
}
邶风 2017-10-30
  • 打赏
  • 举报
回复
转成秒,除以24小时取余

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧