将Epoch时间戳转换为日期格式



我有一个.json文件,里面有很多文档,每个文档是这样的:

{"_id":{"$oid":"54ff56116d"},"caption":{"created_time":"1421434541",....}

我需要在我的每个文档中将created_time转换为日期格式。

你知道吗?

由于创建的时间是10位数字,因此可能使用的是'Unix时间戳',它从Epoch开始计算秒数,即1970-01-01 00:00:00 +00:00 (UTC或GMT时区1970年1月1日上午的午夜)。如果您有13位数字,那么从Java中使用的Epoch开始可能是毫秒。还有其他的系统,但这是一个合理的猜测。

有很多函数系统可以将这些值转换为日期。我有一个使用标准库函数的C程序,我用来验证你的日期:

$ timestamp 1421434541
1421434541 = Fri Jan 16 10:55:41 2015
$ timestamp -u 1421434541
1421434541 = Fri Jan 16 18:55:41 2015
$ timestamp -T '%Y-%m-%d %H:%M:%S' -u 1421434541
1421434541 = 2015-01-16 18:55:41
$

(当地时区:US/Pacific,又名America/los - angeles)

程序使用strtol()将字符串中的数字转换为long,然后使用localtime()gmtime()将其分解为struct tm,然后使用strftime()格式化结果。

GNU date命令也可以用来做这些事情:

$ /usr/gnu/bin/date -d @1421434541 +'%Y-%m-%d %H:%M:%S'
2015-01-16 10:55:41
$

由于您还没有确定您的宿主语言,因此实际上不可能告诉您使用什么。不过,无论您选择哪种语言,都可以保证有可用的代码来处理转换。

相关内容

  • 没有找到相关文章

最新更新