- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前有一个包含 POSIX 时间戳的 double ,并且我成功地使用 gmtime 和 asctime 通过 time_t 结构显示日历日期:
time_t input = posix;
printf("%s",asctime(gmtime(&input)));
这很好用,除了(显然)当 POSIX 时间超出 time.h 库的限制(即 1901-2038)时,在这种情况下它返回 1901 年的日期。是否有 gmtime/asctime/的简单替代方案time.h,还是我只需要处理原始数据?
编辑:我应该补充一点,结果很可能超出这些限制,因为 posix double 是计算的结果,而不是当前系统时间的实例化。
最佳答案
阅读Wikipedia entry on Unix Time :
The POSIX and Open Group Unix specifications include the C standard library, which includes the time types and functions defined in the
<time.h>
header file. The ISO C standard states thattime_t
must be an arithmetic type, but does not mandate any specific type or encoding for it.
如果您需要以可移植的方式处理大范围的时间,您可能必须使用自己的时间库。我认为你甚至不能指望struct tm
覆盖范围从 1901 年到 2038 年。
您可能还想阅读此 StackOverflow answer regarding time_t .
关于c - 将 POSIX 显示为没有 gmtime 和 asctime 的日历日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071481/
我有一个开始的问题 here .我发现了原因并且没有尝试解决其他问题。 我需要将 CherryPy 设置为在不同平台上可用的最长可能 session 时间。为此 CherryPy 使用 time.gm
我正在用 c++/c 检索 GMT 时间。但它返回不正确的时间。例如,现在的时间应该是上午 9 点,但 struct tm 对象返回凌晨 3 点。知道为什么或我做错了什么吗? time_t rawti
我在嵌入式 Linux 上工作,自 1970 年 1 月 1 日起,系统/ Controller 时间以毫秒的形式保持。我正在尝试使用 gmtime 但无法获得准确的结果。将此时间(毫秒)转换为实时小
我在多线程环境中打印事件,控制台是所有线程共享的静态互斥锁。 问题是随机发生的每一百或一千个事件,我得到的时间是本地时间而不是 UTC。 我只在 Linux 机器(使用 g++ 构建)中看到过这个错误
我有这个代码: time_t tt = time(NULL); tm* currentTime = gmtime(&tt); tm* storedTime = gmtime(&m_time); 其中m
我有一个在 Cubox(armhf 平台)上运行的网络服务器(CherryPy),启动服务器后出现以下错误: [14/Aug/2015:09:33:40] HTTP Traceback (most r
是否有一种预定义的方法可以将小时和分钟添加到通过 time.h 获取的 gmtime 中?我想编写一个程序来显示各个国家的时间,那么我必须自己编写逻辑还是有预定义的方法? 最佳答案 如果您有时区名称(
如果我的服务器未配置为使用格林威治标准时间,我不明白为什么 gmdate() 和 date() 返回相同的值。 这是为什么? echo time(); // 13110
将 C 代码迁移到 Swift,对应的等效代码是什么? time(&CurrentTime); tm = gmtime(&CurrentTime); dayOfYear = tm->tm_yday +
根据documentation struct tm *gmtime(const time_t *timer); 应该将 timer 指向的 time_t 转换为分解时间。 现在他们决定让函数接受指向
import time print time.strftime("%a, %d %b %Y %I:%M %p %Z", time.gmtime()) 我住在加利福尼亚。出于某种原因,此代码以 GMT
在谷歌应用引擎 ( http://shell.appspot.com/ ) 上: >>> time.gmtime(1000*365*24*60*60) (2969, 5, 3, 0, 0, 0, 2,
我正在尝试使用 epoch 时间在 STM32L051T6 微 Controller 上设置 RTC 时间。下面是我的代码。 void Rtc_SetTime(uint32_t time_) {
有两个标准的 C 库函数 gmtime() and localtime() .他们都返回这样的结构(一个在 GMT,一个在本地 TZ 和夏令时): struct tm { int tm_sec
我尝试: ts = -216345600000 datetime.datetime.fromtimestamp(ts/1000) ValueError:时间戳超出平台 localtime()/gmti
我有一个在 TZ=UTC 运行的服务器,我有这样的代码: time_t t = time(NULL); struct tm tm; gmtime_r(&t, &tm); 问题是 tm.tm_sec =
如何逆向gmtime(),把时间+日期放在哪里,得到秒数? 我有类似 'Jul 9, 2009 @ 20:02:58 UTC' 之类的字符串,我想返回 epoch 和 2009 年 7 月 9 日之间
我有以下测试代码来查看 gmtime 和 localtime 之间的差异。但他们给了我相同的结果: UTC:2013-05-02T13:59:58 Local:2013-05-02T13:59:58
我有一个 C 程序,我在其中使用遍历目录结构的递归函数。它接受一个 time_t 变量并从中创建一个 gmtime 结构。 递归dir函数来自How to recursively list direc
我一直在搜索谷歌机器,但没有想出任何答案。调用电话时: time.gmtime() 这最终会返回一个时间,正如主题行所说,比我的系统时间早 5 小时。我无法弄清楚发生了什么。 time.tzname
我是一名优秀的程序员,十分优秀!