2013-02-26 104 views
1

我想提取從例如 tm_sectm_min僅,作爲簡單INT(未陣列或字符串)如何是和可能的(如果它是)如果我不需要100%正確的時間,那麼我就是爲了自己的利益而做的,只是想知道如何去做。 與之前試圖做提取部分

time_t rawtime; 
struct tm * timeinfo; 
char buffer [80]; 

time (&rawtime); 
timeinfo = localtime (&rawtime); 
strftime (buffer,80,"Now it's %H:%M.",timeinfo); 
puts (buffer); 

但缺乏經驗攔住了我的東西,現在我不知道是否有這樣的問題該怎麼辦(只是在編程初學者),當然遺憾,但我已經嘗試過,並沒有找到它。

*這樣做的目的不是爲了只顯示我想要的部分,但對它們進行編輯

+0

不要忘記當年被編碼爲「年 - 1900」(所以你必須添加1900來獲取實際的日曆年),並且該月份的月份編碼爲1月份到11月份的12月份(因此您需要添加一個月份以獲取正常月份編號)。而'mktime()'函數可以修改'struct tm'並將其轉換回'time_t'。 – 2013-02-26 14:55:20

回答

3

簡單地訪問結構的成員:

printf("The tm_seconds field is %d\n", timeinfo->tm_sec); 

換句話說,如果你有一個指針爲類型struct tm的值,可以使用箭頭運算符(->)訪問任何成員。與所有其他成員一樣,tm_sec成員的類型爲int

你可以複製的價值:

int my_seconds = timeinfo->tm_sec; 

,然後打印副本,太:

printf("my seconds are %d\n", my_seconds); 
+0

非常感謝,我會給你代表,但是沒有這樣的能力:) – undefined 2013-02-26 14:52:15

+0

@undefined:在幾分鐘內,你將能夠接受答案,這也會給你一些代表。 – 2013-02-26 14:57:18

+0

現在我可以給代表,並且標記爲完整,非常感謝,你已經救了我的熱情 – undefined 2013-02-26 15:00:43