首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c++中以毫秒为单位将日期转换为时间?

在c++中以毫秒为单位将日期转换为时间?
EN

Stack Overflow用户
提问于 2016-03-16 13:56:56
回答 1查看 3K关注 0票数 3

我有一个要求,我必须将给定的日期时间格式的字符串转换为从历元到毫秒的时间。在Javascript中,有日期到时间转换api,但是在c++中,我找不到任何这样的东西。

输入类似于“2016-3月-15 09:23:58.665068”

输出应该以毫秒为单位,比如14520000785秒。

我已经试过寻找刺激,但仍然找不到(或理解)怎么办?此外,通过谷歌,我发现相反的方式,即转换毫秒到日期格式,但不是我需要什么,也没有任何有帮助的帖子。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-03-16 14:09:21

仅使用标准库功能:

代码语言:javascript
复制
#include <ctime>
#include <chrono>
#include <iostream>

int main()
{
    std::tm tm = {};
    const char* snext = ::strptime("2016-Mar-15 09:23:58.665068", "%Y-%b-%d %H:%M:%S", &tm);
    auto time_point = std::chrono::system_clock::from_time_t(std::mktime(&tm));
    long long  duration_ms = time_point.time_since_epoch() / std::chrono::milliseconds(1) + std::atof(snext) * 1000.0f;
    std::cout << duration_ms << std::endl;
}

打印:1458033838665

std::chrono::system_clock::nowstd::chrono::milliseconds

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36037803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档