我有char date [] =「2011-04-01」;它如何轉換爲C或C++中的時間戳?C將char []轉換爲時間戳;
1
A
回答
3
試試這個:
char date[] = "2011-04-01";
date[4] = date[7] = '\0';
struct tm tmdate = {0};
tmdate.tm_year = atoi(&date[0]) - 1900;
tmdate.tm_mon = atoi(&date[5]) - 1;
tmdate.tm_mday = atoi(&date[8]);
time_t t = mktime(&tmdate);
+0
請注意,此解決方案假定「2011-04-01」是_local_日期,並且DST不會生效爲「tmdate.tm_mday == 0」。因此'time_t t'可能從午夜起1個小時。 – chux 2017-01-26 18:09:38
4
警告:strptime是POSIX - 功能(可能無法在操作系統 「視窗」 平臺可通過time.h中)。
#include <time.h>
struct tm time;
strptime("2011-04-01", "%Y-%m-%d", &time);
time_t loctime = mktime(&time); // timestamp in current timezone
time_t gmttime = timegm(&time); // timestamp in GMT
+1
未完全初始化/分配「時間」可能是一個問題:「未指定...將更新結構的當前內容或覆蓋結構的所有內容」。建議'struct tm time = {0};'並使用'time-> isdst == -1;'。 – chux 2017-01-26 18:16:25
相關問題
- 1. 將時間戳轉換爲時間戳
- 2. 將char *轉換爲char? C++
- 3. 將時間轉換爲Unix時間戳
- 4. 將時間戳轉換爲時間()
- 5. 將時間戳轉換爲時間
- 6. 將時間戳轉換爲UTC時區
- 7. 將Unix時間戳轉換爲時區?
- 8. 將時間戳轉換爲時區
- 9. 轉換爲UTC時間戳
- 10. 將json時間戳轉換爲正則java時間戳
- 11. 如何將java時間戳轉換爲php時間戳?
- 12. 將服務器時間戳轉換爲本地時間戳
- 13. 如何將Evernote API時間戳轉換爲Postgresql時間戳
- 14. 將unix時間戳轉換爲H2時間戳
- 15. 將字符串時間戳轉換爲PHP中的時間戳
- 16. Python:將Varbinary類型的時間戳轉換爲unix時間戳
- 17. 將UTC中的時間戳轉換爲時間戳
- 18. 如何將時間戳轉換爲php中的unix時間戳?
- 19. 將Java時間戳轉換爲MySQL時間戳反之亦然
- 20. 將時間戳長轉換爲時間戳錯誤
- 21. 將UTC時間戳轉換爲本地設備時間戳
- 22. 將wchar_t轉換爲char C++
- 23. C#將Char轉換爲KeyValue
- 24. 將datetime轉換爲unix時間戳
- 25. 將unix時間戳轉換爲julian
- 26. 如何將int64轉換爲時間戳
- 27. 將日期轉換爲Matlab時間戳
- 28. 將NTP時間戳轉換爲utc
- 29. R:將字符轉換爲時間戳
- 30. 將時間戳轉換爲nsdate格式
也許這個回答能幫助:http://stackoverflow.com/questions/1002542/how-to-convert-datetime-to-unix-timestamp-in-c – 2011-04-22 10:01:21
你的標題說,C,你的問題說: C或C++,並且您只標記了C++。你用C編程還是用C++編程? – Puppy 2011-04-22 10:36:07