c/在Unix时间和"Gregorian time"之间转换
c/convert between Unix time and the "Gregorian time"
我现在有时间戳,从公元0年1月1日午夜开始,以微秒为单位。经过搜索,我注意到有些人称之为"原生Symbian时间"?不管是什么,我真的不知道如何将这个"原生Symbian时间"转换为Unix时间(自Epoch以来的时间)。C/C++中有什么标准函数可以做到这一点吗?
示例数据如下:6362682587836269563626825878.63759 63626825878657652
- 您将需要64位算术,或者bignums
- 如果我用来帮助我解决这些问题的工具是正确的,那么从1月1日(普罗维登格里高利)到1970年1月1号之间有62167132800秒
- 要将Unix时间转换为Symbian,请添加62167132800并乘以1000000
- 要将Symbian时间转换为Unix,请除以1000000并减去62167132800
看起来你给出的三个值(都在同一秒内)来自大约10天前。
公元0年并不存在;-)
您应该能够使用ICU-InternationalComponentsforUnicode,因为它能够处理最常见的日期和时间转换。请查看"通用时间刻度"页面上的"转换"一段,它显示了如何使用ICU在各种日期和时间格式之间进行转换。
相关文章:
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 为什么我会收到"Run-Time Check Failure #2 - Stack around the variable 'pr' was corrupted"错误?
- 解析某些行的文本和输出"time of appearance"
- 返回time()库函数的数据类型
- 如何将 time-uuid(存储在 boost uuid 中)转换为时间戳/自纪元以来的时间?
- 如何从 boost::p osix_time::p time 获取秒数
- 调用 dll 函数时"Run-Time Check Failure #0 - The value of ESP"
- C++ SRAND(time(0)) 在猜谜游戏中不起作用
- 即使包含 <time.h 后仍"‘CLOCK_PER_SEC’ was not declared in this scope"错误>
- struct TM time;vs TM time = {}.输出相同但不相同?
- 使用 Windows 寄存器查找下一个"Daylight Saving Time"
- c++ get millsecond time
- "Feature X requires run-time support"的含义是什么?
- 如何传递以 "size determined at run time" 作为引用的动态分配数组?
- constexpr - "Evaluate value at compile time"到底是什么意思?
- "Time"库形式 Arduino 显示不正确的值
- 自定义 Python 构建 - time.so:未定义的符号:PyExc_ValueError
- C++名称查找来自 <time.h 的函数>
- 为什么即使我反复重置它,srand(time(NULL))也能顺利工作
- c/在Unix时间和"Gregorian time"之间转换