我有一個變量:char date[11];
,我需要在其中放入當前日期,例如29/06/2012
。在變量上獲取當前日期
所以我會做這樣的事情:
printf ("%s\n", date);
和輸出是:29/06/2012
我只找到選項以打印字的日期,就像Fri, June 2012
,但不是實際的日期數量。
那麼如何才能打印當前日期的數字?
我有一個變量:char date[11];
,我需要在其中放入當前日期,例如29/06/2012
。在變量上獲取當前日期
所以我會做這樣的事情:
printf ("%s\n", date);
和輸出是:29/06/2012
我只找到選項以打印字的日期,就像Fri, June 2012
,但不是實際的日期數量。
那麼如何才能打印當前日期的數字?
您可以參考該功能strftime。我會讓你想出如何既然你聲稱,你已經尋找它使用它:-)
,我會提供答案:
// first of all, you need to include time.h
#include<time.h>
int main() {
// then you'll get the raw time from the low level "time" function
time_t raw;
time(&raw);
// if you notice, "strftime" takes a "tm" structure.
// that's what we'll be doing: convert "time_t" to "tm"
struct tm *time_ptr;
time_ptr = localtime(&raw);
// now with the "tm", you can format it to a buffer
char date[11];
strftime(date, 11, "%d/%m/%Y", time_ptr);
printf("Today is: %s\n", date);
}
您正在尋找strftime
,部分的time.h
。你需要通過一個struct tm *
。
對於你的例子,格式字符串應該是:"%d/%m/%Y"
,這是一個很常見的情況。
基於從文檔代碼:
char date[11];
time_t t;
struct tm *tmp;
t = time(NULL);
tmp = localtime(&t);
if (tmp != NULL)
{
if (strftime(date, 11, "%d/%m/%Y", tmp) != 0)
printf("%s\n", date);
}
我搜索像3頁功能的谷歌,而我只是couldent找到解決辦法... – AmitM9S6
我增加了更多的答案。刷新看看。 –
@ AmitM9S6:你真的需要掌握一個體面的C參考手冊(我的參考資源是[C:A參考手冊](http://www.careferencemanual.com/),第5版,由Harbison&Steele提供)。不要只依靠Web;大多數在線C參考文獻(反正我見過的)的範圍從「好吧」到「不要碰駁船杆」。 –