Ответ 1
Эта конкретная метка времени находится в миллисекундах с эпохи, а не стандартных секунд с эпохи. Разделите на 1000:
$ date -d @1361234760.790
Mon Feb 18 17:46:00 MST 2013
Как появилась дата преобразования в неправильное время?
result=$(ls /path/to/file/File.*)
#/path/to/file/File.1361234760790
currentIndexTime=${result##*.}
echo "$currentIndexTime"
#1361234760790
date [email protected]"$currentIndexTime"
#Tue 24 Oct 45105 10:53:10 PM GMT
Эта конкретная метка времени находится в миллисекундах с эпохи, а не стандартных секунд с эпохи. Разделите на 1000:
$ date -d @1361234760.790
Mon Feb 18 17:46:00 MST 2013
Вы можете использовать арифметическое расширение bash для выполнения деления:
date -d @$((value/1000))
Обратите внимание, что "value
" является переменной bash с $
необязательным; т.е. $value
или value
.