2012-02-10 126 views
1

我需要將日期作爲一個字符串並將當前時間作爲另一個字符。我查看了time.h並且看到它允許我獲取整個事物。然後我必須使用一些字符串方法嗎?我注意到C沒有一個子字符串方法? Strcpy好像可能會工作,但我需要一個char *而不是數組。在c中獲取日期和時間

有什麼建議嗎?

感謝

+0

搜索'strftime'。 – 2012-02-10 18:52:40

回答

6

您可以使用strftime此:

struct tm *tm; 
time_t t; 
char str_time[100]; 
char str_date[100]; 

t = time(NULL); 
tm = localtime(&t); 

strftime(str_time, sizeof(str_time), "%H %M %S", tm); 
strftime(str_date, sizeof(str_date), "%d %m %Y", tm); 
+0

當我嘗試運行此操作時,出現分段錯誤?我對C非常陌生,是否必須使用malloc tm? – drunkmonkey 2012-02-10 19:21:38

+0

@drunkmonkey是的,我忘了'localtime'期待'time_t *'。我編輯了答案。你的編譯器應該已經警告過你。 – cnicutar 2012-02-10 19:24:28

+0

嘗試類型time_t而不是NULL的變量 – noMAD 2012-02-10 19:26:07