在 C 语言中,你可以使用 `struct` 结构体和 `%d` 格式化字符串来表示和计算
时间差。下面是一个简单的例子,假设你有
两个结构体 `time_t` 表示的
时间:
今天的文章 2025年oracle时间函数 时间差(oracle时间相减函数)分享到此就结束了,感谢您的阅读。#include <stdio.h>#include <time.h>// 定义结构体来存储小时和分钟typedef struct {int hours;int minutes;} Time;// 函数来获取当前时间Time getCurrentTime() {Time currentTime;time_t now = time(NULL);struct tm *ltm = localtime(&now);currentTime.hours = ltm->tm_hour; // 小于24小时currentTime.minutes = ltm->tm_min; // 小于60分钟return currentTime;}// 函数将一个时间转换为24小时制void convertTo24h(Time* time) {if (time->hours >= 12) {time->hours -= 12;}if (time->hours == 0) {time->hours = 12;}}// 计算并显示时间差void calculateDifference(Time t1, Time t2) {Time difference;difference.hours = t2.hours - t1.hours;difference.minutes = t2.minutes - t1.minutes;// 如果分钟小于0,则加上一小时并调整分钟if (difference.minutes < 0) {difference.hours--;difference.minutes += 60;}printf("时间差: %d:%02d", difference.hours, difference.minutes);}int main() {Time startTime, endTime;// 获取起始时间startTime = getCurrentTime();printf("请输入开始时间(HH:MM): ");scanf("%d:%d", &startTime.hours, &startTime.minutes);// 获取结束时间endTime = getCurrentTime();printf("请输入结束时间(HH:MM): ");scanf("%d:%d", &endTime.hours, &endTime.minutes);// 转换为24小时制convertTo24h(&startTime);convertTo24h(&endTime);// 计算并显示时间差calculateDifference(startTime, endTime);return 0;}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/15676.html