这可能是一个常见问题解答,但是我什么也找不到。
我的公司用朱利安和祖鲁语跟踪日期和时间;例如: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月11日转换为儒略历第223天,但我不能轻易地从第223天转换为日期。
谁能告诉我,给定2014年和223年,日期是什么?还是"手动"是我唯一的选择?
如果日期和时间是字符串,可以使用strptime():
char s[] = "2014-224-17:20:00";
struct tm tm;
strptime( s, "%Y-%j-%H:%M:%S", &tm );