目標是一個函數,它將int(或long)與實際時間一起傳遞。 我爲此將本地時間寫入一個字符串(據我瞭解),並嘗試將它與atoi/atol轉換爲我的int/long。但不知何故,我沒有得到預期的結果。將字符串從strftime轉換爲int/long
事情我已經嘗試:
- 我從最初的INT切換到長。
- 我改變了我的字符串的大小。如果我將它調整爲7而不是我需要的15個字節,它至少會轉換我的字符串的日期部分。但我需要一切。
我有下面的代碼:
long generate_time()
{
time_t time1;
time(&time1);
char time_str[15];
long act_time;
strftime(time_str, 15, "%Y%m%d%H%M%S", localtime(&time1));
printf("Actual time: %s\n", time_str);
act_time = atol(time_str);
printf("Transformed time: %d\n", act_time);
return act_time;
}
在響應中得到的:
實際時間:20170407091221 轉化時間:1240669205
我希望這很容易理解,並提前感謝大家的幫助!
你應該轉換代碼,以英語之前發佈您的問題。用戶可以更好地幫助你,如果明白你寫的是什麼... – LPs
你想以時間戳格式返回時間嗎?作爲整數值返回20170407091221是沒有意義的。 –
謝謝你指出。我改變了它。 – Mathias