0

我想创建一个计数器,以分钟为单位从给定数字中检索月、日、小时、分钟数,例如我知道:

60 minutes in an hour
24 hours in a day = 60 x 24 = 1440 minutes
31 days per month 
1 month = 24 x 60 x 31 = 44,640 minutes

因此,如果我给例如数字 44640 我想要 1 个月 0 天 0 小时 0 分钟,或者例如如果我给 44700 我想要 1 个月、0 天 0 小时 60 分钟或 1 个月 0 天 1 小时 0 分钟

请问有什么帮助吗?

4

1 回答 1

3
int total_minutes = 44640; 
int total_hours   = total_minutes / 60;
int minutes = total_minutes % 60;
int total_days = total_hours / 24;
int hours = total_hours % 24;
int months = total_days / 31;
int days = total_days % 31;

printf("%d months, %d days, %02d:%02d\n", months, days, hours, minutes);

但这具有误导性,因为月份并非都是 31 天。平均而言,公历中的一个月是 30.436875 天(43829.1 分钟),因此您可以使用该数字。对于许多应用程序,此类计算只是假设一个月总是 30 天。但是,如果您的时间间隔固定在特定的时间点,最好使用两端的日期来确定它们之间有多少整月。

于 2012-05-10T23:30:41.103 回答