The date
perintah output tanggal dan waktu seperti ini: Fri Apr 12 15:04:03 UTC 2013
.
Untuk memiliki tanggal-waktu keluaran dalam format khusus yang dapat kita gunakan date +FORMAT
, misalnya, seperti ini: date "+%Y-%m-%dT%H:%M:%S%:z"
yang memberikan sesuatu seperti 2013-04-12T15:04:37+00:00
.
Tapi saya ingin tahu apa %Y
, %m
, %d
, %H
, %M
, %S
, dll secara kolektif disebut (yaitu terminologi). Juga, apa T
namanya, karena berbeda dari yang lain?
date
terminology
ini aku
sumber
sumber
date
Dan‘T’hanya literal‘T’.%Y
dan artinya masing-masing.date +"You will die in the year %Y"
T
tidak istimewa. Juga, saya mengalami hari yang aneh di tempat kerja ketika saya mengetik itu (mendengarkan percakapan rekan kerja).Jawaban:
Istilah yang digunakan dalam spesifikasi POSIX dari
date
perintah adalah "spesifikasi konversi".String format untuk
date
perintah ini berdasarkan pada string format untukprintf
fungsi C ; standar C juga merujuk pada hal-hal seperti%d
"spesifikasi konversi".T
tidak diawali dengan%
hanya karakter: "Semua karakter lain harus disalin ke output tanpa perubahan."Menurut bagian riwayat perubahan pada deskripsi POSIX dari
date
:Jadi ternyata versi sebelumnya dari spesifikasi menggunakan frasa "deskriptor bidang", tetapi "spesifikasi konversi" adalah istilah resmi saat ini.
Tentu saja itu tidak berarti Anda harus merujuk mereka seperti itu.
sumber
conversion sequences
" atau "format sequences
" persyaratan yang sesuai juga? Saya mempertimbangkansequences
lebihspecifications
'penyebab itu sebenarnya disebutkan dalam halaman manual untukdate
.Saya akan berpikir "melarikan diri urutan" atau (dalam hal ini) "karakter khusus untuk urutan melarikan diri persen" akan menjadi cara khas merujuk mereka. Urutan backslash-dan persen-lolos banyak digunakan dalam C (misalnya printf), jadi mereka juga memfilter ke beberapa perintah Unix (seperti menentukan prompt untuk shell).
"Urutan melarikan diri" adalah "% Y", "% m", "% d" dan seterusnya; dan "karakter khusus" adalah "Y", "m", "d" dan seterusnya. "%" akan menjadi "karakter pelarian" (karakter yang memberikan karakter berikut makna yang tidak biasa / istimewa).
sumber
Dokumen ini dari Pusat Informasi IBM jelas menyatakan bahwa huruf di
%Y
,%m
,%d
,%H
,%M
,%S
, dll disebut " Lapangan Deskriptor ".Itu menjawab dua pertanyaan saya (sekitar% n & T). Dan saya percaya ini otoritatif yang bisa didapat.
sumber
date
perintah; apa yang membuat dokumentasi mereka berwibawa? Perilaku perintah saat ini didefinisikan oleh POSIX, yang tidak menggunakan istilah itu. Riwayat perubahan di bagian bawah deskripsi POSIX mengatakan "DESCRIPTION diperbarui untuk merujuk pada spesifikasi konversi, alih-alih deskriptor lapangan untuk konsistensi dengan kategori LC_TIME.", Yang menyiratkan bahwa "spesifikasi konversi", bukan "field diescriptor" adalah benar istilah saat ini. Lihat juga jawaban saya yang diperbarui.Seperti yang dinyatakan orang lain,
T
ini adalah huruf literalT
. Tetapi untuk lebih spesifik, contoh Andadate "+%Y-%m-%dT%H:%M:%S%:z"
tampaknya berupa format string yang sesuai dengan spesifikasi ISO-8601 untuk tanggal dan waktu. Jadi di siniT
adalah pembatas yang memisahkan tanggal dari waktu.sumber