问题标签 [time-t]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何将负时间戳转换为字符串。C++
我有负时间戳(即 1970 年以前的日期,例如 15.04.1896)。如何将给定的时间戳转换为正确的日期字符串。
正如我正在尝试做的那样
c - 如何从 time_t 中提取小时数?
我想从表示自纪元以来的秒数的 time_t 值中提取小时、分钟和秒作为整数值。
小时的值不正确。为什么?
输出(小时应为 10)
c - 如何在 C 中的 Windows 上获得 GMT 的 time_t
我正在编写一些将在多个互通系统上运行的代码。我使用 time() 来获取 time_t,但这会导致系统之间的时区差异出现问题,所以我想在 GMT 中获取 time_t。我一直在查看 time.h 函数,但我不清楚如何确定我会正确获得时间。到目前为止,这是我想出的:
现在,这似乎在我的机器上得到了正确的答案,但我想知道它是否会在我推出之前普遍工作,即使其他机器的时钟设置为当地时间或格林威治标准时间或不同时区或其他什么. 我担心的原因是mktime。在描述中,它说它将 tm 结构解释为“以本地时间表示的日历时间”。在我看来,它不会返回 GMT 时间,尽管它似乎在我的机器上。另外,当我打印出 gt 时,它比 t 提前 4 小时,这似乎是正确的。但是,如果我运行以下命令:
时间是一样的,都是当地时间,这不是我所期望的。
作为记录,在另一个答案中,我看到了对 timegm() 的引用,这听起来很完美,但它在我的系统上不存在。
简而言之,我如何在 C 语言的任何 Windows 机器上获得 GMT 的 time_t?
编辑:删除了添加的 msvcrt 标记,因为我没有使用 msvcrt。
c - clock_t、time_t 和 struct tm 有什么区别?
clock_t、time_t 和 struct tm 有什么区别?
结构 tm看起来像这样:
但是clock_t和time_t长什么样子呢?
c++ - 如何在 C++ 中将 UTC 日期和时间转换为 time_t?
我想将以年、月、日等数字形式给出的 UTC 日期和时间转换为 time_t。一些系统提供类似mkgmtime
或timegm
用于此目的的功能,但这不是标准的,并且在我的 Solaris 系统上不存在。
到目前为止,我发现的唯一解决方案是使用 setenv 将本地时区设置为 UTC,然后调用mktime
. 然而,这种方法不是线程安全的、缓慢的、不可移植的,甚至会在我的系统上产生内存泄漏。
我还看到了尝试确定当前 UTC 偏移量的方法gmtime
,然后将其添加到mktime
. 但据我所见,所有这些方法都有差距。毕竟,从本地时间到 UTC 的转换并不是唯一的。
你认为最好的解决方案是什么?
vim - 在另一个目录中包含 ctime 标头时出现 vim 错误
在这里,当从 cpp 文件中包含 ctime 或 time.h 时,我从 vim 收到了一个奇怪的错误。我刚刚复制了 a.cpp,其中包含以下代码:
然后我在 vim 中打开它们,区别如下:
如果您看到 403 Forbidden,只需将光标放在 url 输入栏中,按 enter。
在 vim 中打开 /home/hippo/cpps/cppworks/a.cpp。(如果看到 403 Forbidden,只需将光标放在 url 输入栏中,按 enter。)
http://photo21.hexun.com/p/2012/0927/485687/b_EA6D87DED1A027A1A21D8B31D0A5BB13.jpg
在vim中打开/home/hippo/a.cpp出来就好了
http://photo21.hexun.com/p/2012/0927/485687/b_982DF55D2242797854727CA51824861E.jpg
所以,我只是无法从我的 ubuntu 系统中找出问题所在。
在我的笔记本电脑上编辑带有其他标题的其他文件时,我从未遇到过这样奇怪的问题。
我的英语不好:<,但任何建议都值得赞赏。
c - 为什么我不能设置大于 2^32 的 time_t?
我在 C 中搞乱 FUSE,我想创建一个似乎在很远的将来创建的文件。我在 FUSE 中编写的自定义 stat() 函数写入 struct stat* stbuf,我想做类似的事情
为了获得一个创建日期,未来的时间长得离谱。
我在 64 位 linux 系统上运行它,所以我希望我的 time_t 是一个 64 位值,实际上,如果我只是 printf("%d\n",(int) sizeof(x)); 在我的程序中测试 time_t 的大小我得到 8。但是,当我在打开警告的情况下编译我的代码时,我得到
以及我在已安装的文件系统中统计文件时的更改时间
好像实际值是 0。有谁知道为什么在应该有 64 位 time_t 的 64 位系统上发生这种情况?
c - 一种在 C 中使用 time_t 函数返回错误的方法
我目前正在编写一个返回 time_t 值的 C 函数,但我也需要管理错误情况(因为该函数使用 I/O 函数)。使用 (time_t) -1 作为错误指示器是否正确?
c - 将人类时间转换为纪元 Unix 时间返回负数
我目前正在处理一些 C 代码,并且正在尝试将人类可读的日期转换为纪元时间戳(unix 时间戳)。但是,它总是返回一个负数。我正在使用struct tm
并硬编码日期的值,直到我让它正常工作。下面是代码
当这段代码执行时,我得到-858000330
.
感谢您的任何帮助,您可以提供。
c++ - c++ time_t 回到 1970 年 1 月 1 日之前
我有一个 c++ 代码,我可以通过它从输入的 excel 日期开始计算/操作(通过操作我的意思是我可以通过特定的增量增加/减少输入日期或对其进行其他计算)。
我在我的代码中使用变量 time_t。根据 msdn 文档 time_t 是自 1970 年 1 月 1 日以来经过的秒数。所以给定一个输入日期,我首先计算自 01/01/1970 以来经过的秒数,将其存储在 time_t vcariable 中,然后使用 localtime() 进行所有其他计算。
我的代码可以正常工作,因为我的输入日期超过 01/01/1970 但在此之前的日期会中断。
问题:在 1970 年 1 月 1 日之前,我是否可以使用任何其他变量或结构。或者有没有办法在 01/01/1970 之前操纵 time_t 变量。
提前致谢
我从 1970 年 2 月 1 日开始。我想将月份减少 2。首先我使用
然后我使用: maketime(y, m + count, d, h, n, s); 其中 y=1970, m=2, count=-2, d=1 (来自上述代码的输出。maketime() 如下:
这导致 t_ =-1。
现在在这个结果上,我再次调用 localtime() 并
当 t_ = -1 时,localtime() 中的第一行失败。