在C中从年中转换为月中

时间:2014-08-11 15:01:03

标签: c date

这可能是一个FAQ,但我找不到任何东西。

我公司追踪朱利安和祖鲁的日期和时间;例如,2014-224-17:20:00Z

我想写一个小转换器来打印EST / EDT中的日期和时间。

不幸的是,mktime()函数不会自动执行此操作。根据手册页,

The [mktime] function  ignores
the  values  supplied  by the caller in the tm_wday and tm_yday fields.

所以我显然可以将2014年8月至2014年转换为Julian day 223,但我不能轻易地从第223天转到约会。

有人可以指出我的方法,在2014年和每年的223年,这个日期是什么?或者"手动"我唯一的选择?

1 个答案:

答案 0 :(得分:2)

如果您将日期和时间作为字符串,则可以使用strptime()

 char s[] = "2014-224-17:20:00";
 struct tm tm;

 strptime( s, "%Y-%j-%H:%M:%S", &tm );