2012-03-02 2 views
0

Я хочу, чтобы на этот раз в миллисекундахсценарий оболочки преобразовать любую дату в миллисекундах

01/Mar/2012:09:08:00 

Я думал, что делает следующий будет хранить новую дату, то я могу преобразовать дату в миллисекундах

time=01/Mar/2012:09:08:00 
    newDate=date --set="$time"; 

Что мне нужно сделать, чтобы это работало?

+0

К «время в миллисекундах», сделать вы имеете в виду миллисекунды с эпохи Unix (1970-01-01)? Обратите внимание, что '01/Мар/2012: 09: 08: 00' не является форматом, распознанным командой' date'. Можете ли вы найти время в более обычном формате, например '' 01 Мар 2012 09:08:00 "'? –

+0

отредактируйте ваше сообщение, чтобы включить пример желаемого вывода. Удачи. – shellter

ответ

0

Используйте Timer() метод, чтобы получить время затем положить, что время в formatnumber() способом, как

FormatNumber(Timer(), 2) 
+0

Вопрос был о оболочке Unix; методы 'Timer()' и 'FormatNumber()' не существуют. –

+0

@KeithThompson Это решение доступно в сценариях VB или скриптовых сценариев для этого. –

2

Вы должны преобразовать '01/Mar/2012:09:08:00' к действительной строки даты '01 Mar 2012 09:08:00'

$ time=01/Mar/2012:09:08:00 
$ time="${time//// }" 
$ time="${time/:/ }" 
$ newDate=`date -d "$time" +%s000` 
$ echo $newDate 
1330564080000 
+0

Добавить «000» за миллисекунды :-) – hfs

+0

Да, вы правы – kev

Смежные вопросы