1
A
回答
2
修改一些示例代碼從cplusplus.com:
#include <stdio.h>
#include <time.h>
int main()
{
time_t seconds;
seconds = time (NULL);
int daysSinceEpoch = seconds/(60*60*24);
printf ("%ld days since January 1, 1970", daysSinceEpoch);
return 0;
}
+3
日期時間是不同的事情,一天不只是24小時,它是一個日期和下一個日期之間的差異,包括閏秒,夏令時調整等。 – bames53
1
通過獲取當前的時間,與time(NULL)
開始。將該值傳遞給gmtime
,這會返回tm*
。閱讀tm
的文檔。
0
日期不容易正確工作。目前的標準庫不能正確地執行此操作。您應該使用適當的日期庫,例如boost :: date或Howard Hinnant's <date>
。
隨着Hinnant(欣南特)的庫中的代碼可能是這個樣子:
date epoch = year(1970)/jan/day(1); // Assuming you're referring to the traditional Unix epoch (some systems such as Cocoa on OS X use the first day of the millenium, Jan 1, 2001 as their epoch)
days d = date::today() - epoch;
相關問題
- 1. 跨平臺的方式來獲得一天的時間?
- 2. C++:獲取臨時文件,跨平臺
- 3. 跨平臺代碼爲appengine
- 4. 跨平臺C?
- 5. 跨平臺移動聊天
- 6. golang:在跨平臺調用C++代碼
- 7. C#Activex跨平臺
- 8. 跨平臺實時數據
- 9. 跨平臺C++代碼體系結構
- 10. py2exe的跨平臺替代
- 11. C++中的跨平臺OOP
- 12. 跨平臺的C++函數到APL
- 13. C++的跨平臺睡眠函數
- 14. 跨平臺代碼組織
- 15. 從C#跨平臺調用C++
- 16. C跨平臺工具包
- 17. 跨平臺C++工具鏈
- 18. 跨平臺C++工具鏈
- 19. C++跨平臺多線程?
- 20. 跨平臺C++與libcurl
- 21. 編譯c代碼時出現跨平臺錯誤(Linux)
- 22. 組織跨平臺的C/C++項目
- 23. 在C++中獲取當前時間跨平臺
- 24. 跨平臺C++ UI應用程序
- 25. Xamarin C#跨平臺應用程序
- 26. 跨平臺獲取用戶目錄?
- 27. 獲取配置文件的跨平臺路徑(C/C++)
- 28. 用於跨平臺的GUI
- 29. 跨平臺
- 30. Android跨平臺
是對mktime()所需的功能?根據你在做什麼,你可能想考慮推出你自己的解決方案。如果我要這樣做,我首先要編寫一個計算自年初以來的天數的程序。如果您遇到問題,請再備份一個步驟,並編寫一個計算自本月初以來的天數的程序。 (請注意,我建議簡化問題,找到一個小問題可以輕鬆解決並幫助解決更大的問題,這總是一個好主意。 –
http://www.boost.org/doc/libs/ 1_39_0/doc/html/date_time/examples.html#date%5Ftime.examples.seconds%5Fsince%5Fepoch –
@代碼大師,不,不需要mktime – Breakdown