将 Epoch 时间戳转换为日期格式
Convert Epoch timestamp to date format
我有一个包含很多文档的 .json
文件,每个文档都是这样的:
{"_id":{"$oid":"54ff56116d"},"caption":{"created_time":"1421434541",....}
我需要将每个文档中的 created_time
转换为日期格式。
你有什么想法吗?
因为你有 10 位数字作为创建时间,你可能使用 'Unix timestamps',它计算自 The Epoch 以来的秒数,即 1970-01-01 00:00:00 +00: 00(UTC 或 GMT 时区 1970 年 1 月 1 日午夜)。如果您有 13 位数字,则可能是自 Java 中使用的 The 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
$
由于您尚未确定您的宿主语言,因此无法真正告诉您使用什么语言。不过,可以肯定的是,无论您选择哪种语言,都会有代码可用于处理转换。
我有一个包含很多文档的 .json
文件,每个文档都是这样的:
{"_id":{"$oid":"54ff56116d"},"caption":{"created_time":"1421434541",....}
我需要将每个文档中的 created_time
转换为日期格式。
你有什么想法吗?
因为你有 10 位数字作为创建时间,你可能使用 'Unix timestamps',它计算自 The Epoch 以来的秒数,即 1970-01-01 00:00:00 +00: 00(UTC 或 GMT 时区 1970 年 1 月 1 日午夜)。如果您有 13 位数字,则可能是自 Java 中使用的 The 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
$
由于您尚未确定您的宿主语言,因此无法真正告诉您使用什么语言。不过,可以肯定的是,无论您选择哪种语言,都会有代码可用于处理转换。