Поскольку у вас есть 10-значные числа в качестве созданного времени, вы, вероятно, используете «временные метки Unix», которые отсчитывают секунды со времен «Эпохи», который находится с 1970-01-01 00:00:00 +00: 00 (полночь утром 1 января 1970 года в часовой пояс или часовой пояс GMT). Если бы у вас было 13-значное число, это, вероятно, было бы миллисекундами с The Epoch, используемым на Java. Существуют и другие системы, но это правдоподобное предположение.
Существует множество систем функций, которые преобразуют такие значения в даты. У меня есть программа 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
$
(местный часовой пояс:. США/Тихоокеанский регион, известный как Америка/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
$
Поскольку вы не определили язык хозяина, это не представляется возможным, чтобы сказать вам, что использовать. В значительной степени гарантируется, что любой язык, который вы выберете, будет доступен для обработки кода.
Спасибо, у меня нет определенного языка хоста, но моя ОС - это Linux. Мой главный вопрос: как это сделать для 100000 строк? Я не могу сделать это один за другим, – sinaei
Как вы можете избежать этого один за другим? Вы должны прочитать 100 000 строк (или одну строку со 100 000 записей) и обрабатывать каждый из них, как вы его находите, или после того, как вы его нашли, с вашей библиотекой JSON. Вы ничего не указали в отношении языков, которые вы используете, поэтому вам очень сложно помочь. GNU 'date' имеет дело с одной датой/временем за раз. Моя «временная метка» может принимать столько строк, сколько вы ее передадите, - ваш O/S, вероятно, остановит ее, обрабатывая их все сразу, но вы можете сделать много тысяч в одном вызове. Вам понадобится больше информации, чем время ... но вы ничего не сказали. –
Спасибо за ваш ответ! это помогло мне – sinaei