
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Calculate Difference Between Two Time Periods in C
Enter the start and stop time with hours, minutes and seconds. Finally, we need to find the difference between start and stop time.
The logic to find the difference between start and stop time is given below −
while (stop.sec > start.sec){ --start.min; start.sec += 60; } diff->sec = start.sec - stop.sec; while (stop.min > start.min) { --start.hrs; start.min += 60; } diff->min = start.min - stop.min; diff->hrs = start.hrs - stop.hrs;
Example
Following is the program to find difference between start and stop time −
#include <stdio.h> struct time { int sec; int min; int hrs; }; void diff_between_time(struct time t1, struct time t2, struct time *diff); int main(){ struct time start_time, stop_time, diff; printf("Enter start time.
"); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &start_time.hrs, &start_time.min, &start_time.sec); printf("Enter the stop time.
"); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &stop_time.hrs, &stop_time.min, &stop_time.sec); // Difference between start and stop time diff_between_time(start_time, stop_time, &diff); printf("
time Diff: %d:%d:%d - ", start_time.hrs, start_time.min, start_time.sec); printf("%d:%d:%d ", stop_time.hrs, stop_time.min, stop_time.sec); printf("= %d:%d:%d
", diff.hrs, diff.min, diff.sec); return 0; } // Computes difference between time periods void diff_between_time(struct time start, struct time stop, struct time *diff){ while (stop.sec > start.sec) { --start.min; start.sec += 60; } diff->sec = start.sec - stop.sec; while (stop.min > start.min) { --start.hrs; start.min += 60; } diff->min = start.min - stop.min; diff->hrs = start.hrs - stop.hrs; }
Output
When the above program is executed, it produces the following result −
Enter start time. Enter hours, minutes and seconds: 12 45 57 Enter the stop time. Enter hours, minutes and seconds: 20 35 20 time Diff: 12:45:57 - 20:35:20 = -8:10:37
Advertisements