这可能是一个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年,这个日期是什么?或者"手动"我唯一的选择?
答案 0 :(得分:2)
如果您将日期和时间作为字符串,则可以使用strptime():
char s[] = "2014-224-17:20:00";
struct tm tm;
strptime( s, "%Y-%j-%H:%M:%S", &tm );