猿问

闰年对时间转换的影响

一般epoch(用微秒表示)转成年,都会是这样

year = epoch / 1000 / 1000 / 60 / 60 / 24 / 365

可是闰年有366天,那么除以365不会造成不准确么?

我这里只是举一个例子,闰年到底会对时间转换的哪一步有影响,是epoch转换成比天小的单位不准确么?


慕莱坞森
浏览 711回答 2
2回答

温温酱

这样当然是有问题的,不知道你这个“一般是这样做的”的结论是从哪里来的不光是闰年,还要考虑到时区、夏令时等等问题,显然这种直接写死的做法是不正确的time库和os提供的各类时间函数为什么不用呢?为什么非要自己写这样一个“聪明”的算法呢?下面的做法在我看来才是“一般的”不是吗?#include<stdio.h>#include<time.h>int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;time_t&nbsp;ts&nbsp;=&nbsp;time(NULL); &nbsp;&nbsp;&nbsp;&nbsp;tm*&nbsp;time_obj&nbsp;=&nbsp;localtime(&ts);&nbsp;&nbsp;&nbsp;&nbsp;printf("%d",&nbsp;time_obj->tm_year&nbsp;+&nbsp;1900); }
随时随地看视频慕课网APP
我要回答