首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将unix纪元时间转换为人类可读的时间

将unix纪元时间转换为人类可读的时间
EN

Stack Overflow用户
提问于 2013-01-30 05:17:59
回答 3查看 2.9K关注 0票数 0

首先,我有一个Unix纪元时间1270787111。

然后基于这个网站:http://untangible.com/2009/01/covert-unix-epoch-dates-in-microsoft-excel-including-timezone-examples.html,我将这个数字转换为40276.9758217592。然后我将值放入Excel单元格,并将其转换为“日期”格式为: 4/8/10 23:25我不知道这是如何发生的。值40926如何转换为2010年04月08日日?有没有其他编程方法可以将Unix纪元时间转换为人类可读的格式时间?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-30 05:31:09

如果您有GNU coreutils date命令,您可以这样做:

代码语言:javascript
复制
$ date -d @1270787111
Thu Apr  8 21:25:11 PDT 2010

如果您更愿意使用C语言,可以使用localtime()gmtime()time_t值1270787111转换为struct tm,然后使用asctime()将其转换为人类可读的字符串。ctime(t)等同于asctime(localtime(t))。这假设C库将POSIX值表示为自Unix时期(1970-01-01 00:00:00)以来的秒数;time_t保证这一点,但C不保证这一点。

strftime()接受struct tm并将其转换为人类可读的字符串,让您可以控制格式,而不是使用ctime()asctime()强加的默认"Thu Apr 8 21:25:11 2010\n"格式(是的,默认格式包括尾随换行符)。

请务必阅读这些函数的文档。它们需要大量的指针操作。

票数 2
EN

Stack Overflow用户

发布于 2013-01-30 05:20:56

我个人最喜欢的是

代码语言:javascript
复制
perl -E 'say scalar gmtime 1270787111'
票数 3
EN

Stack Overflow用户

发布于 2013-01-30 05:21:31

Excel的起始日期是1900年1月0日(是的,1月0日)。从这个link

数字的整数部分ddddd表示自1900年1月0日以来的天数

在1/0/1900之后的40,276天结束的日期。

在许多编程语言(C/C++、Perl、PHP等)中通常都有内置函数。用于处理UNIX纪元时间戳。这真的取决于你所使用的语言,以及你要调用的方法/函数。这里有一个显示一些examples in C的链接。

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

https://stackoverflow.com/questions/14592485

复制
相关文章

相似问题

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