我有一个.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
$
由于您还没有确定您的宿主语言,因此实际上不可能告诉您使用什么。不过,无论您选择哪种语言,都可以保证有可用的代码来处理转换。