[问题] 请教传入日期+ms产生epoch时间

楼主: TwoDemon (飞天)   2017-12-28 12:33:45
*[36m开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Gcc
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
NA
问题(Question):
如何回传epoch时间
传入(YYYMMDD, ms) ms的格式由 0 ~235959999 回传epoch时间
找到类似的范列如下:
这是抓系统时间:
* timestamp example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, time (for timestamp in second) */
#include <sys/timeb.h> /* ftime, timeb (for timestamp in millisecond) */
#include <sys/time.h> /* gettimeofday, timeval (for timestamp in microsecond) */
int main ()
{
/* Example of timestamp in millisecond. */
struct timeb timer_msec;
long long int timestamp_msec; /* timestamp in millisecond. */
if (!ftime(&timer_msec)) {
timestamp_msec = ((long long int) timer_msec.time) * 1000ll +
(long long int) timer_msec.millitm;
}
else {
timestamp_msec = -1;
}
printf("%lld milliseconds since epoch\n", timestamp_msec);
return 0;
}
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
作者: MOONRAKER (㊣牛鹤鳗毛人)   2017-12-28 13:10:00
(1)你知道你ms的定义吗(2)你知道epoch time的精确度吗(3)你这个“类似范例”到底是头发还是指甲类似(4)你YYY只有三位,他的基准是1900, 1975还是2000年(5)你YYYMMDD是字串还是int
楼主: TwoDemon (飞天)   2017-12-28 14:08:00
YYYY 才对YYYYMMDD 我已经有了 int ex: 20171211
作者: LPH66 (-6.2598534e+18f)   2017-12-28 14:17:00
(6)你知道你想要的“epoch 时间”是什么东西吗
作者: MOONRAKER (㊣牛鹤鳗毛人)   2017-12-28 17:06:00
好了放你一马他标准的作法是include <time.h>做一个struct tm比如tm0 把你时间各个项目塞到里面然后呼叫mktime(tm0)得到那个结果怎么拆怎么塞就由你发挥了
作者: Killercat (杀人猫™)   2017-12-28 18:26:00
C++11以后 比较推chrono library, std::chrono这是毫秒等级跨平台的时间函式库 别再用平台限定的了不然你觉得const char* a = "0";会是啥....推错文....
楼主: TwoDemon (飞天)   2016-01-04 12:11:00
谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com