2013-02-26 69 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