Date
date — утилита Unix для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время.
Реализации
В разных операционных системах существуют различные варианты команды, отличающиеся параметрами:
Использование
При вызове команды без параметров выводит текущее время:
$ date
Sun Dec 6 15:33:24 MSK 2009
При вызове с параметром, который начинается с цифры, устанавливает системное время. Поскольку стандарт Single Unix Specification не описывает, как утилита date устанавливает время[1], разные операционные системы используют разные форматы для этого параметра: например, MMDDhhmm[[CC]YY][.ss] в Linux, [[[[[CC]YY]MM]DD]hh]mm[.ss] в FreeBSD и [[MMDD]hhmm|MMDDhhmm[CC]YY][.ss] в Solaris (где CC, YY, MM, DD, hh, mm, и ss означают столетие, год столетия, месяц, число, час, минуту и секунду). Следовательно,
$ date 1230100509.45 # в Linux и Solaris; или
$ date 0912301005.45 # в FreeBSD
устанавливает дату и время на 10:05:45, 30 декабря 2009.
При вызове с параметром, который начинается с +, параметр используется как строка форматирования вывода.
| Спецификатор | Описание | Пример (локаль en_US) | Пример (локаль ru_RU) | |
|---|---|---|---|---|
| День | ||||
%a |
день недели, сокр. | Sun | Вск | |
%A |
день недели, полный | Sunday | Воскресенье | |
%d |
число месяца (01—31) | 06 | ||
%e |
число месяца, дополненное пробелом ( 1—31) | 6 | ||
%j |
день года (001—366) | 340 | ||
%u |
день недели (1—7, воскресенье = 7) | 7 | ||
%w |
день недели (0—6, воскресенье = 0) | 0 | ||
| Неделя | ||||
%U |
номер недели (00—53, воскресенье — первый день недели) | 49 | ||
%W |
номер недели (00—53, понедельник — первый день недели) | 48 | ||
%V |
номер недели (01—53, понедельник — первый день недели) | 49 | ||
| Месяц | ||||
%m |
номер месяца (01—12) | 12 | ||
%h или %b |
месяц, сокр. | Dec | Дек | |
%B |
месяц, полный | December | Декабрь | |
| Год | ||||
%y |
год без столетия (00—99) | 09 | ||
%C |
столетие (00—99) | 20 | ||
%Y |
год включая столетие | 2009 | ||
%g[2] |
год (без столетия) понедельника недели %V |
09 | ||
%G[2] |
год (включая столетие) понедельника недели %V |
2009 | ||
| Дата | ||||
%D |
%m/%d/%y |
12/06/09 | ||
%x |
дата в формате текущей локали | 12/06/2009 | 06.12.2009 | |
%F[2] |
%Y-%m-%d |
2009-12-06 | ||
| Час | ||||
%l[2] |
час в 12-часовой системе, дополненный пробелом ( 1—12) | 3 | ||
%I |
час в 12-часовой системе (01—12) | 03 | ||
%k[2] |
час, дополненный пробелом ( 0—23) | 15 | ||
%H |
час (00—23) | 15 | ||
%p |
В английских локалях, AM («до полудня») или PM («после полудня»). Во многих других локалях не используется. |
PM | ||
%P[2] |
То же, что %p, но строчными буквами |
pm | ||
| Минута | ||||
%M |
минута (00—59) | 33 | ||
| Секунда | ||||
%s[2] |
секунд с 00:00:00 1970-01-01 UTC (см. UNIX-время) | 1260102804 | ||
%S |
секунда (00—60) | 24 | ||
%N[2] |
наносекунда (000000000—999999999) | 000000000 | ||
| Время | ||||
%r |
12-часовое время в текущей локали | 03:33:24 PM | 03:33:24 | |
%R[2] |
%H:%M |
15:33 | ||
%T |
%H:%M:%S |
15:33:24 | ||
%X |
время в стандартном формате для текущей локали | 03:33:24 PM | 15:33:24 | |
| Дата и время | ||||
%c |
дата и время в стандартном формате для текущей локали | Sun 06 Dec 2009 03:33:24 PM MSK | Вск 06 Дек 2009 15:33:24 | |
| Часовой пояс | ||||
%z[2] |
часовой пояс в формате RFC-2822 (±zzzz) |
+0300 | ||
%:z[2] |
часовой пояс в формате RFC-3339 (±zz:zz) |
+03:00 | ||
%Z |
алфавитный код часового пояса | MSK | ||
| Оформление | ||||
%% |
Символ «%» | |||
%n |
Новая строка (0x0a)
| |||
%t |
Табуляция (0x09)
| |||
Ключи
Единственный ключ, который определён по стандарту Single Unix Specification — -u[1]; остальные могут различаться в разных операционных системах. Ниже указаны ключи, которые используются в date в GNU Coreutils.
-d, --date=СТРОКА— вывести не текущее время/дату, а время/дату, описанное строкой.-f, --file=ФАЙЛ— то же, чтоdate -dдля каждой строки файла.-r, --reference=ФАЙЛ— вывести не текущее время/дату, а время/дату последнего изменения файла.-R, --rfc-2822— вывести дату в формате RFC-2822. То же, чтоdate '+%a, %d %b %Y %T %z'(например, «Sun, 06 Dec 2009 15:33:24 +0300»).--rfc-3339=СТРОКА— вывести дату в формате RFC-3339; строка может быть «date», «seconds» или «ns», То есть:date --rfc-3339=date— то же самое, чтоdate +%Fdate --rfc-3339=seconds— то же самое, чтоdate '+%F %T%:z'date --rfc-3339=ns— то же самое, чтоdate '+%F %T.%N%:z'
-s, --set=СТРОКА— установить время/дату, описанное строкой.-u, --utc, --universal— время выводится или устанавливается в UTC.
См. также
Примечания
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.