- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有没有人知道一个简单的 gmtime
或 ctime
实现而不考虑时区、没有外部依赖和非 copyleft 许可(BSD/MIT/任何专有-安全的)?最好是用 C 语言,但基本上任何能以最小形式提供算法的东西都可以。
我只需要将自“1970 年 1 月 1 日 00:00:00”以来的秒数分解为年、日、月、时、分、秒。周五快要回家了,所以我有点懒惰。
最佳答案
从 POSIX 反转定义“自纪元以来的秒数”的算法:
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_15
tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 +
(tm_year-70)*31536000 + ((tm_year-69)/4)*86400 -
((tm_year-1)/100)*86400 + ((tm_year+299)/400)*86400
关于c++ - gmtime算法的最小实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745255/
我有一个开始的问题 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
我是一名优秀的程序员,十分优秀!