我想写的C++代码,计算年,月,周,小时和分钟从1月1,1970年。我包括我目前拥有的代码。请帮帮我。提前致谢。C++ /转换时间(NULL)到确切的年,月,周,小时和分钟从1970年1月1日
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
double seconds, minutes, days, weeks, months, years, hours;
seconds = time(NULL);
minutes = seconds/60;
hours = minutes/60;
days = hours/24;
weeks = days/7;
months = weeks/4;
years = days/365;
months = (int) (days/30.42) % 12;
weeks = (int) (days/7) % 52;
days = (int) (hours/24) % 24;
hours = (int) (minutes/60) % 1;
minutes = (int) (seconds/60) % 60;
printf("%d years \n", (int)years);
printf(" %d months \n", (int)months);
printf(" %d weeks\n", (int)weeks);
printf(" %d days \n", (int)days);
printf(" %d minutes\n", (int)minutes);
printf(" %d hours\n\n", (int)hours);
system("pause");
}
为什么不使用'localtime'?它会将'time_t'转换为'struct tm',这正是你所需要的。 – Immueggpain
没有闰年逻辑。需要解释魔术常数30.42 –
感谢您的回复。闰年逻辑不是必需的。我认为30.42的常数是为了弥补闰年。不知道,因为我是新来的。 我有问题让系统确切地说什么时间(空)是作为时间值的一个内聚单位。 我希望我可以使用当地时间,但我必须使用上面指定的功能。谢谢你让他们来:) –