date - نمایش و تنظیم زمان

date - از این دستور برای نمایش زمان و یا تغییر زمان استفاده می‌شود.

شکل کلی دستور:

$ date [options] [+format]
# date [+format] [-s] [date and time]

این دستور یکی از ساده‌ترین دستوراتی است که برای نمایش ساعت و تاریخ فعلی و یا برای تنظیم آن استفاده می‌شود.

$ date
Fri Jun  7 20:45:30 IRDT 2013

اطلاعات زمانی که مشخص است و فقط من در اینجا کمی در مورد نام منطقه زمانی که در اینجا IRDT است توضیح دهم. IRDT مخفف «Iran Daylight Time» هست که نشان دهنده‌ی منطقه‌ی زمانی است که دقیقاً چهار و نیم ساعت از زمان جهانی جلوتر است. در کنار این، ما یک IRST داریم که مخفف «Iran Standard Time» که این ساعت دقیقاً سه و نیم ساعت از ساعت جهانی جلوتر است. با توجه به زمان، الان که ۱۳۹۲/۳/۱۷ در حال ایجاد محتوا هستم، برای من IRDT را نشان می‌دهد. هر کشور به صورت جداگانه حساب می‌شود در زیر لیست بعضی از کشورهای آسیایی را قرار داده‌ام:

  • AFT : افغانستان
  • AZT و AZST : آذربایجان
  • CST : چین
  • HKT : هنگ کنگ
  • IST : هندوستان
  • JST : ژاپن
  • KST : کره

قالب‌بندی نمایش:

در لیست زیر تمام قالب‌بندی‌ها برای نمایش زمان را می‌بینید:

شناسه توضیح مقدار یا مثال
قالب‌بندی برای روز
a% نمایش روز به‌صورت خلاصه شده Fri
A% نمایش روز به‌صورت کامل Friday
d% نمایش روز از ماه که به‌صورت دو عدد است و عدد خالی را با صفر پر می‌کند 07
e% نمایش روز از ماه است که عدد خالی را با جای خالی نشان می‌دهد 7
j% نمایش روز از سال است که جالی خالی را با صفر پر می‌کند 185
u% نمایش روز از هفته است که شمارش از دوشنبه تا یک‌شنبه است 1-7
w% نمایش روز از هفته است که شمارش از یک‌شنبه تا شنبه است 0-6
قالب‌بندی برای هفته
U% تعداد هفته، روز یک‌شنبه به عنوان اولین روز از هفته در نظر گرفته می‌شود 22
W% تعداد هفته، روز دوشنبه به عنوان اولین روز از هفته در نظر گرفته می‌شود 22
V% تعداد هفته، که به‌صورت استاندارد در نظر گرفته می‌شود 23
قالب‌بندی برای ماه
m% نمایش ماه که به‌صورت دو عدد است، عدد خالی به‌صورت صفر درنظرگرفته می‌شود 01–12
h% نام ماه را به‌صورت خلاصه نشان می‌دهد Jun
B% نام ماه را به‌صورت کامل نشان می‌دهد June
قالب‌بندی برای سال
y% نمایش سال به‌صورت دو رقم نشان می‌دهد 00-99
Y% نمایش سال به‌صورت چهار رقمی نشان می‌دهد 2013
قالب‌بندی برای قرن
C% قرن را به‌صورت دوعدد نشان می‌دهد 00-99
قالب‌بندی برای تاریخ
D% تاریخ را با یک / جدا می‌کند 06/08/13
x% تاریخ را با یک / جدا می‌کند و سال را کامل نشان می‌دهد 06/08/2013
F% تاریخ را با یک - جدا می‌کند و سال را کامل نشان می‌دهد 2013-06-08
قالب‌بندی برای ساعت
l% حدود ساعت را تا عدد دوازده نمایش می‌دهد و عدد خالی را با جای خالی پر می‌کند 1
I% حدود ساعت را تا عدد دوازده نمایش می‌دهد و عدد خالی را با صفر پر می‌کند 01
k% حدود ساعت را تا عدد بیست وچهار نمایش می‌دهد و عدد خالی را با جای خالی پر می‌کند 24
H% حدود ساعت را تا عدد بیست وچهار نمایش می‌دهد و عدد خالی را با صفر پر می‌کند 24
p% به‌صورت قبل از ظهر و بعد از ظهر و با حروف بزرگ نشان می‌دهد AM-PM
P% به‌صورت قبل از ظهر و بعد از ظهر و با حروف کوچک نشان می‌دهد am-pm
قالب‌بندی برای دقیقه
M% به‌صورت دو عدد دقیقه را نشان می‌دهد 59
قالب‌بندی برای ثانیه
s% به صورت 00:00:00 ثانیه را نشان می‌دهد( بدون مشخص کردن فاصله با :) 1370635591
S% ثانیه را به صورت دو عدد نشان می‌دهد 00-60
N% به صورت نانوثانیه نمایش می‌دهد 000000000–999999999
قالب‌بندی برای زمان
r% به‌ترتیب ساعت، دقیقه، ثانیه نمایش می‌دهد وقبل از ظهر و بعد از ظهر را مشخص می‌کند  12:41:35 AM
R% فقط به صورت ساعت و دقیقه مشخص می‌کند و به صورت بیست و چهار ساعت نمایش‌ می‌دهد 00:44
T% به ترتیب ساعت، دقیقه، ثانیه نمایش می‌دهد و به صورت بیست و چهار ساعت نمایش می‌دهد 00:45:42
قالب‌بندی برای زمان و تاریخ
c% اطلاعات کامل از زمان و تاریخ با توجه به منظقه زمانی می‌دهد Sat 08 Jun 2013 12:48:59 AM IRDT
قالب‌بندی برای منطقه زمانی
z% منطقه زمانی را به سبک عددی نمایش می‌دهد +0430
Z% نام منطقه زمانی را نشان می‌دهد که بسته به منطقه‌ی زمانی هر فرد است IRDT

 

نکته: برای قرار دادن ایجاد خط جدید بین هرکدام از قالب‌بندی ها می‌توانید از n%استفاده کنید.

نکته: درهنگام استفاده از هرنوع قالب‌بندی در ابتدا از یک علامت +استفاده کنید.

در زیر چندین مثال متفاوت آورده شده است:

$ date "+Time: %T%n%nDate: %x"
Time: 16:02:19

Date: 06/08/2013
$ date "+My time zone: %Z%nYear: %Y"
My time zone: IRDT
Year: 2013
$ date "+H: %I%nM: %M%nS: %S"
H: 04
M: 06
S: 48
$ date "+Y: %Y%nM: %m (%B)%nW: %V%nD: %d (%A)"
Y: 2013
M: 06 (June)
W: 23
D: 08 (Saturday)

گزینه‌های اختیاری:

s-: برای تنظیم زمان استفاده می‌شود:

نکته: این گزینه‌ی اختیاری نیاز به مجوز‌های ریشه را دارد.

نکته: اگر مثال زیر را برای نمونه انجام می‌دهید، زمان را دوباره به حالت ابتدا برگردانید.

در مثال زیر ابتدا یک‌بار وضعیت زمانی را مشخص کرده‌ام سپس سال را یک سال به جلو برده‌ام:

$ date "+%x"
06/08/2013
# date +%x -s "06/08/2014"
$ date "+%x"
06/08/2014

یا:

$ date "+%Y%m%d"
20130608
# date +%Y%m%d -s "20140608"
20140608
$ date "+%Y%m%d"
20140608