Узнайте время с эпохи unix для определенного времени даты?
Я хочу узнать время в unix time (т. е. секунды с эпохи unix) на 9:00 BST 1 октября 2009 года. Как это сделать в командной строке linux?
Я знаю, что вы можете использовать date @$UNIXTIME '+%someformat'
, но время unix-это то, что я пытаюсь выяснить
4 ответов
date +%s
дает секунды с эпохи
Википедия (время Unix) имеет
чтобы показать время в секундах с 1970-01-01 (эпоха Unix):
дата + "%s" - d "Пт апр 24 13: 14: 39 CDT 2009"
1240596879
Я не мог видеть вашу предпочтительную дату, пока редактировал этот ответ, поэтому я не пробовал ее, но пример, который я нашел, выглядит как аналогичный формат.
Я использую этот сайт:http://www.epochconverter.com/ для преобразования unixtime для чтения человеком и наоборот. Даже если это не код, он полезен для проверки вашего кода. Вот код (на Java), чтобы сделать то, что вы просили. Unixtime оно печатает вне час согласно epochconverter.com (не знаю почему).
SimpleDateFormat sdf = new SimpleDateFormat( "MM/dd/yyyy HH:mm z" );
try {
Date d = sdf.parse("10/01/2009 09:00 BST");
System.out.println("Unixtime is: " + d.getTime() / 1000);
} catch (ParseException pe) { pe.printStackTrace();