Получите Текущую дату в эпоху из сценария оболочки Unix

Поскольку erickson отметил, код без постинкрементных работ оператора без ошибки:

static Integer foo = new Integer(1);

public static void main(String[] args) {
    synchronized (foo) {
        foo.notifyAll();
    }
    System.out.println("Success");
}

вывод:

Успех

60
задан John Saunders 7 July 2009 в 19:38
поделиться

5 ответов

Обновление : ранее опубликованный здесь ответ был связан с настраиваемым сценарием, который больше не доступен, исключительно потому, что OP указал, что date + '% s' didn не работает на него. См. ответ UberAlex и ответ Кадриана для правильных решений. Вкратце:

  1. Для количества секунд с эпохи Unix используйте date (1) следующим образом:

     date + '% s'
    
  2. Для количества дней с эпохи Unix разделите результат на количество секунд в день (обратите внимание на двойные скобки!):

     echo $ (($ (date +% s ) / 60/60/24))
    
45
ответ дан 24 November 2019 в 17:30
поделиться

Команда Unix Date будет отображаться в эпоху

, команда имеет вид

date +"%s"

http://unixhelp.ed.ac.uk/CGI/man-cgi?date

Изменить: Некоторые люди наблюдали, как вы просили дни, так что это результат этой команды, разделенной на 86 400

137
ответ дан 24 November 2019 в 17:30
поделиться
echo $(($(date +%s) / 60 / 60 / 24))
11
ответ дан 24 November 2019 в 17:30
поделиться
echo `date +%s`/86400 | bc
2
ответ дан 24 November 2019 в 17:30
поделиться

В зависимости от языка, который вы используете, это будет что-то простое, например

CInt(CDate("1970-1-1") - CDate(Today()))

Как ни странно, вчера был день 40 000, если вы используете 01.01.1900 как «нулевой день», как многие использование компьютерных систем.

-4
ответ дан 24 November 2019 в 17:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: