GNU/Linux >> Belajar Linux >  >> Linux

Konversi format tanggal dalam bash

Di OSX, saya menggunakan -f untuk menentukan format input, -j untuk tidak mencoba menyetel tanggal apa pun, dan penentu format output. Misalnya:

$ date -j -f "%m/%d/%y %H:%M:%S %p" "8/22/15 8:15:00 am" +"%m%d%y"
082215

Contoh Anda:

$ date -j -f "%d %b %Y" "27 JUN 2011" +%Y%m%d
20110627

#since this was yesterday
date -dyesterday +%Y%m%d

#more precise, and more recommended
date -d'27 JUN 2011' +%Y%m%d

#assuming this is similar to yesterdays `date` question from you 
#http://stackoverflow.com/q/6497525/638649
date -d'last-monday' +%Y%m%d

#going on @seth's comment you could do this
DATE="27 jun 2011"; date -d"$DATE" +%Y%m%d

#or a method to read it from stdin
read -p "  Get date >> " DATE; printf "  AS YYYYMMDD format >> %s"  `date
-d"$DATE" +%Y%m%d`    

#which then outputs the following:
#Get date >> 27 june 2011   
#AS YYYYMMDD format >> 20110627

#if you really want to use awk
echo "27 june 2011" | awk '{print "date -d\""$1FS$2FS$3"\" +%Y%m%d"}' | bash

#note | bash just redirects awk's output to the shell to be executed
#FS is field separator, in this case you can use $0 to print the line
#But this is useful if you have more than one date on a line

Lebih lanjut tentang Tanggal

perhatikan ini hanya berfungsi pada tanggal GNU

Saya telah membaca bahwa:

Versi tanggal Solaris, yang tidak dapat mendukung -d dapat diatasi dengan mengganti sunfreeware.com versi tertanggal


Linux
  1. Bash Konversi \xc3\x89 Ke ?

  2. Cara Mengonversi Format Gambar di cPanel

  3. Dapatkan mtime file tertentu menggunakan Bash?

  1. Cetak tanggal untuk hari Senin minggu ini (dalam bash)

  2. kurangi hari dari tanggal di bash

  3. Ubah tanggal ISO menjadi detik sejak zaman di linux bash

  1. Cara mengonversi DATE ke UNIX TIMESTAMP dalam skrip shell di MacOS

  2. Ubah yang dapat dibaca manusia menjadi byte di bash

  3. Bagaimana cara mengonversi dari hari ke tahun dan tahun ke tanggal YYYYMMDD?