time-t相关内容
我不知道time_t 的数据类型.它是 float double 还是其他什么?因为如果我想显示它,我需要与 printf 对应的标签.我可以从那里处理其余的用于显示 time_t 但我需要知道与之对应的数据类型. 解决方案 不幸的是,它不是完全可移植的.它通常是整数,但它可以是任何“整数或真正的浮动类型".
..
我想获取系统的当前时间.为此,我在 C 中使用以下代码: time_t 现在;struct tm *mytime = localtime(&now);if ( strftime(buffer, sizeof buffer, "%X", mytime) ){printf("time1 = \"%s\"\n", 缓冲区);} 问题是这段代码给出了一些随机时间.此外,随机时间每次都不同.我想要系统的
..
在 Windows 上,我可以调用: _time32(__time32_t);//得到 32 位的 time_t_time64(__time64_t);//获得 64 位的 time_t (在 32 位和 64 位程序中) 在 Linux 中有没有办法做到这一点(使用 GCC 编译)? 解决方案 显然,不,这是不可能的.对于初学者来说,Linux 中只有一个 time() 函数,
..
如何在带有 32 位时间库的 Linux 中使用 mktime64() 避免 2038 年问题? 我们尝试使用宏 _Time64 但失败了,因为编译器仍然抛出 undefined mktime64() 错误: typedef long long _Time64_t;_Time64_t _Time64(_Time64_t *pt);struct tm *_Localtime64(_Time6
..
我已经编译了内核 3.19.1,但是 time_t 仍然有问题.只是一个带有 cout
..
是否有针对 32 位系统的 64 位 Unix 时间戳转换的 C++ 实现?我需要将 struct tm 转换为 64 位整数,反之亦然,包括闰年、时区、UTC.还需要它的便携性,至少对于 GNU/Linux 和 Windows. 解决方案 您需要: typedef long long time64_t;time64_t mktime64(struct tm *t);struct tm*
..
在 Windows 上,我可以调用: _time32(__time32_t);//得到 32 位的 time_t_time64(__time64_t);//获得 64 位的 time_t (在 32 位和 64 位程序中) 在 Linux 中有没有办法做到这一点(使用 GCC 编译)? 解决方案 显然,不,这是不可能的.对于初学者来说,Linux 中只有一个 time() 函数,
..
是否有针对 32 位系统的 64 位 Unix 时间戳转换的 C++ 实现?我需要将 struct tm 转换为 64 位整数,反之亦然,包括闰年、时区、UTC.还需要它的便携性,至少对于 GNU/Linux 和 Windows. 解决方案 您需要: typedef long long time64_t;time64_t mktime64(struct tm *t);struct tm*
..
如何在带有 32 位时间库的 Linux 中使用 mktime64() 避免 2038 年问题? 我们尝试使用宏 _Time64 但失败了,因为编译器仍然抛出 undefined mktime64() 错误: typedef long long _Time64_t;_Time64_t _Time64(_Time64_t *pt);struct tm *_Localtime64(_Time6
..
如何在带有 32 位时间库的 Linux 中使用 mktime64() 避免 2038 年问题? 我们尝试使用宏 _Time64 但失败了,因为编译器仍然抛出 undefined mktime64() 错误: typedef long long _Time64_t;_Time64_t _Time64(_Time64_t *pt);struct tm *_Localtime64(_Time6
..
我有 2 个 time_t 值,我想找出哪个值更大. time_t 在我的平台上内部是 __int64.我可以使用 和 == 运算符来比较值吗?我不想知道两个时间值之间的差异. 代码只会在 Windows 上运行,所以我不关心可移植性. 以这种方式比较值是否正确? 解决方案 根据 C 标准的 7.27.1(3) 部分(在这种情况下 C++ 标准指的是)time_t
..
这里我做了一个小测试,以验证时间确实只在Linux中向前运行. #include#includebool timeGoesForwardTest2(){timeval tv1,tv2;double startTime = getTimeSeconds();//我的函数while(getTimeSeconds()-startTime
..
我正在使用一个非常简单的代码来衡量执行时间.它可以很好地工作直到我不确定可能不超过20分钟.但是(> 20min.)之后它返回了负结果.论坛,并尝试使用长无符号(返回0)更改数据类型之类的所有方法,但再次失败.以下是我的代码段 main(){time_t开始,停止;double time_arm;开始= clock();/* ....... */停止=时钟();time_arm =(双)(停止
..
我要转换UTC日期&以年,月,日等数字表示的时间为time_t.为此,某些系统提供了 mkgmtime 或 timegm 之类的功能,但这不是标准功能,并且在我的Solaris系统上不存在. 到目前为止,我发现的唯一解决方案是使用setenv将本地时区设置为UTC,然后调用 mktime .但是,这种方法不是线程安全的,缓慢的,不可移植的,甚至会在我的系统上产生内存泄漏. 我还看到了尝
..
对于32位系统,是否有C ++实现的64位Unix时间戳转换?我需要将 struct tm 转换为64位整数,反之亦然,包括leap年,时区和UTC.至少在GNU/Linux和Windows上,还需要它具有可移植性. 解决方案 您需要: typedef很长很长的时间64_t;time64_t mktime64(struct tm * t);struct tm * localtime64
..
我已经编译了内核3.19.1,但是time_t仍然有问题.只是一个带有cout
..
我有以下整数: int y,mon,d,h,min,s; 它们的值是: 2012 , 06 , 27 , 12 , 47 , 53 。如果我在应用程序中的其他位置选择了“ UTC”,我想代表“ 2012/06/27 12:47:53 UTC”的日期时间,或者如果我选择“ 2012/06/27 12:47:53 AEST”在应用程序的其他位置选择了“ AEST”。
..
clock_t,time_t和struct tm有什么区别? struct tm 看起来像这样: struct tm{ int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; 但是 clock_t 和 t
..
在Windows上,我可以调用: _time32(__ time32_t); //获得32位的time_t _time64(__ time64_t); //获得64位time_t (在32和64位程序中) 在Linux中(用GCC编译)有什么办法吗? 解决方案 显然,不可能。对于初学者来说,在Linux中只有一个 time()函数,没有 time32
..
我已经找到了一些有关将 std :: time_t 值转换为 System :: DateTime 和背部。然而,几乎所有的答案似乎都忽略了标准中实际上未定义的类型 std :: time_t 。大多数解决方案只需将 std :: time_t 转换为 std :: time_t 对象所需要的或应用算术运算可能是因为它是算术类型,但是没有关于这种操作的结果的规范。我知道大多数编译器将 time_t
..