Tag: 时间

获取getrusage()来测量C中的系统时间

我想测量执行一些代码所需的系统时间。 要做到这一点,我知道我会在两次调用getrusage()之间将所述代码夹在中间,但是我得到了一些意想不到的结果…… #include #include #include #include int main() { struct rusage usage; struct timeval start, end; int i, j, k = 0; getrusage(RUSAGE_SELF, &usage); start = usage.ru_stime; for (i = 0; i < 10000; i++) { /* Double loop for more interesting results. */ for (j = 0; j < 10000; j++) { k += […]

用C测量时间

我正在尝试用C(矩阵乘法)测量一些活动,并注意到我应该做这样的事情: clock_t start = clock(); sleep(3); clock_t end = clock(); double elapsed_time = (end – start)/(double)CLOCKS_PER_SEC; printf(“Elapsed time: %.2f.\n”, elapsed_time); 输出是: Elapsed time: 0.00. 为什么会这样?

如何将“2012-03-02”转换为C中的unix纪元时间?

表示2012年3月2日的字符串“2012-03-02”作为输入变量(char *)给出。 如何用C编程语言将此日期转换为unix纪元时间?

如何将字符串解析为ctime结构?

是否有一种既定的方法将字符串解析为Time结构? 理想情况下我想做的是反转strftime(…) ,而不是从时间结构和格式字符串生成字符串,我从根据提供的格式字符串解析的字符串中获取时间结构。 我不希望通过包含一个DateTime类来增加额外的开销,例如在Boost或.NET中找到的类

如何确定哪一天是C中当前语言环境中的第一周

如何确定哪一天是C中当前语言环境中的第一天。在俄罗斯星期一是第一天,但​​我的mac显示错误的第一天本地化日历。 所以我想知道我是否可以确定哪一天是当前语言环境中的第一天。 谢谢。 anatoly@mb:/Users/anatoly$ cal Июля 2012 вс пн вт ср чт пт сб 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

为什么tm_sec在time.h中的范围是0-60而不是0-59?

我的time.h有以下tm定义: struct tm { int tm_sec; /* seconds after the minute [0-60] */ int tm_min; /* minutes after the hour [0-59] */ int tm_hour; /* hours since midnight [0-23] */ … } 我只是注意到他们将tm_sec记录在0-60之间。 我一直认为它的范围是0-59,就像tm_min一样。 我当然没见过时钟阅读时间10:37:60 …… 你认为这只是这个90年代伯克利起源文件留下的文档错误吗? 还是有一些我不知道的更微妙的事情?

C ++将时间字符串转换为纪元的秒数

我有一个格式如下的字符串: 2010-11-04T23:23:01Z Z表示时间是UTC。 我宁愿把它存储为一个时间点,以便比较容易。 这样做的推荐方法是什么? 目前(在quck搜索之后),简化算法是: 1: 2: Use mktime() to convert struct_tm to epoch time. // Problem here is that mktime uses local time not UTC time.

为什么time(time_t *)函数都返回并设置by-ref?

我一直很好奇,为什么time(time_t *)函数都返回time_t ,并设置传入指针的时间? 返回时间的示例: time_t myTime = time(NULL); printf(“The time is now %s”, ctime(&myTime)); 将值设置为指针的示例: time_t myTime; time(&myTime); printf(“The time is now %s”, ctime(&myTime)); 我原本以为通过写入内存而不是返回会有性能提升,但是如果它必须同时执行这两种操作,那不就是让它变慢吗?

获取内核模块中的当前时间(秒)

在内核模块中以秒(自纪元开始)获取当前时间的标准方法是什么? 我已经看到了涉及获取xtime的技术,这些技术非常冗长且涉及while循环和锁定。 肯定有更好的办法。 [这不是重复的。 我已经查看了以前关于SO的问题。 许多这些的答案要么没有指定使用的函数,要么错误地引用内核中不允许的time.h]

C ++:Linux中的时序(使用clock())不同步(由于OpenMP?)

在程序的顶部和末尾,我使用clock()来计算程序完成所需的时间。 不幸的是,它的报告时间似乎只有一半。 我用“time”命令仔细检查了这一点。 我的计划报告:在45.86s完成 时间命令报告:实际0m22.837s用户0m45.735s sys 0m0.152s 使用我的手机计时,它在23秒完成(又名:“真正的”时间)。 “用户”时间是所有线程的总和,这在我使用OpenMP之后才有意义。 (您可以在这里阅读: ‘真实’,’用户’和’sys’在时间(1)的输出中是什么意思? ) 那么,为什么clock()报告的是“用户”时间而不是“真实”时间? 我应该使用不同的函数来计算程序运行的时间吗? 作为旁注,Windows的clock()按预期工作,并在“实际”时间内报告。