0
我試圖編寫一個函數來將日期時間&轉換爲紀元秒,它適用於沒有通常的time_t庫函數的小型系統。我已經得到了下面的代碼,但是計算結果有點偏離,任何人都可以看到有什麼問題嗎?將時間/日期轉換爲紀元(自1970年以來的秒數)
long getSecondsSinceEpoch(int h, int m, int s, int day, int month, int year) {
int i,leapDays;
long days;
long seconds;
const static DAYS_IN_MONTH[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
leapDays = 0;
days = (year - 1970) * 365;
for (i = year; i>1970; i--){
if ((i%4)==0) {
leapDays++;
}
}
days += leapDays;
for (i = 1;i < month;i++) {
days += DAYS_IN_MONTH[i - 1];
}
days += day;
seconds = days * 86400;
seconds += (h * 3600);
seconds += (m * 60);
seconds += s;
return seconds;
}