Отображение определенной даты

Я не уверен, что школы преподают в эти дни, но я предположил бы, что оконечный обычно означает "выход с 0 (нулевыми) состояниями".

Я могу думать о 3 способах сделать это (по крайней мере, в программе C):

return 0;   /* 1 */
exit(0);    /* 2 */
_exit(0);   /* 3 */

Я думаю (1) и (2) примерно эквивалентны, но (3) заставляет процесс выходить, не сбрасывая его буферы вывода. Вы использовали бы это в случае ситуации с ветвлением/должностным лицом для предотвращения двойного вывода любых байтов, буферизованных (ядром или stdio) перед выходами дочернего процесса.

3
14.02.2013, 00:36
2 ответа

Если Вы запускаете Linux:

date +"%B %d, %Y" -d 2011-07-04

От man date:

   -d, --date=STRING
          display time described by STRING, not 'now'
4
27.01.2020, 21:14
  • 1
    Ответ в основном зависит от конкретного аромата UNIX, который использует user32270. Например, предложенный вариант не будет работать над HP-UX или более старым SunOS, на самом деле, нет никакого способа отобразить произвольную дату date там. –  Leonid 13.02.2013, 07:52
  • 2
    @Leonid - Так или иначе эта информация будет в man если это возможно в их среде. –  Chris Down 13.02.2013, 08:28

Обычно date не инструмент для того (хотя некоторые реализации, как дата GNU могут сделать это как нестандартное расширение).

Если Вы хотите сделать управление датой портативно, лучшее, которое можно сделать, должно, вероятно, использовать perl (который установлен на фактически каждом невстроенном Unix), и POSIX модуль для strftime и mktime функции. Существует множество других более дружественных модулей управления датой для perl но они обычно не устанавливались бы по умолчанию, по крайней мере, не с более старыми версиями perl.

perl -MPOSIX -le 'print strftime "%B %d, %Y", @ARGV' 0 0 0 4 7 "$((2011 - 1900))"
2
27.01.2020, 21:14

Теги

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