【发布时间】:2016-09-27 01:31:53
【问题描述】:
简短的问题,又名“TD;DR”。
我有一个“1464478647000”字符串,我猜它是一个 UNIX 时间戳。但它肯定是一个包含表示时间的数字的字符串,但不是人类可读的格式。如何将其转换为 time_t 类型,以便稍后将其格式化为格式化字符串,例如 C++11 中的“3 分钟前”?
长问题。
首先抱歉我的英语不好。
我完全不了解 C++11,甚至 C++;我刚刚学了一点 C,就像 10 年前一样,我几乎忘记了它是怎么回事。在业余时间,我正在尝试对Feednix(一个用 C++11 编写的 ncurses 程序,充当 Linux 控制台的 Feedly 客户端 - 看起来已经死了)做一个小分支,所以它看起来更多像一个列表(有点像ncmpcpp 或mutt 的样子)。由于当前的 Feednix 实现没有显示任何帖子的时间,我认为让它显示它的发布时间会很好(就像 Feedly 的网络版本一样,在其“仅标题”演示文稿中)。
问题是,按照 Feednix 上实现的模型,我将“已发布”数据作为字符串对象提取(我不知道如何将其作为整数提取,或直接作为 @ 987654327@ 对象(似乎 Json 库不允许这样做)。Feedly API 文档说,“已发布”数据是“时间戳,以毫秒为单位,当这篇文章发表时,由 RSS 提要报告(通常不准确)。”例如“1452614967000”。
那么如何将该字符串转换为time_t 对象,以便稍后将其格式化为“3 分钟前”或“2 天前”之类的字符串?或者我可以做些什么来获得格式化的字符串(这更有可能)?任何帮助将不胜感激!
【问题讨论】:
-
1452614967000 不能是
time_t时间戳。否则它将是July 15, 48001, 01:30:00 -0400 -
@Sam,可能毫秒,如果你去掉结尾的“000”,你会得到今年 1 月 12 日的某个时间,而不是人类之后很久的某个时间种族很可能已经灭绝了:-)
-
“TD;DR”是什么意思?像“总结”这样的简单词发生了什么?
-
太……笨蛋?该死的长?单调? ……没读? :-)
-
实际上,刚刚注意到问题说明它以毫秒为单位,所以我的评论是多余的。我会把它留在那里作为我在吐出垃圾之前无法阅读的纪念碑:-)
标签: c++ unix c++11 time-t feedly