0
是的,這是很長的路,但我試圖用一種基本的方式來做到這一點。 編譯器開始將所有數字顯示爲負數,起初它們都是正數,但我無法弄清楚原因。 我知道這看起來複雜,我不知道該怎麼做呢,因爲我不與結構尚未或除基本格式的工作:如何使用time.h從秒數轉換到現在秒數(我開始得到一個負數)
#include <stdio.h>
#include <time.h>
int main() {
// now = time(NULL); <----????? (now is more than a billion seconds - this would be long double, right?
// long double now;
int CurrentYear = 2017;
int CurrentMonth = 2;
int CurrentDay = 10;
int OldYear = 1970;
int OldMonth = 1;
int OldDay = 1;
int YearsPassed; // 47 years passed
int MonthsPassed; // 1 month passed
int DaysPassed; // 9 days passed
int YearsPassedInDays;
// 1533338720 days passed
int DaysToHours;
int Hours = 24;
int Minutes = 60;
int HoursToMinutes;
int MinutesToSeconds;
int Seconds = 60;
YearsPassedInDays = YearsPassed * 365;
printf("YearsPassedInDays = %d\n", YearsPassedInDays);
// 1533338720 days passed
DaysToHours = YearsPassedInDays * Hours;
printf("DaysToHours = %d\n", DaysToHours);
// DaysToHours: 610015968 hours
HoursToMinutes = DaysToHours * Minutes;
printf("HoursToMinutes = %d\n", HoursToMinutes);
// HoursToMinutes: 392762944 minutes
// MinutesToSeconds = HoursToMinutes * Seconds;
// printf("MinutesToSeconds = %d\n", MinutesToSeconds);
你應該在第二次猜測之前閱讀'time()'文檔。它返回'time_t',所以你的'now'變量必須聲明爲'type_t now;'。 – DyZ