GNU/Linux >> Belajar Linux >  >> Linux

Cetak tanggal untuk hari Senin minggu ini (dalam bash)

Coba ini untuk mendapatkan tanggal hari Senin saat ini.

wd=`date +%u`; 
let wd=wd-1; 
mon=`date --date="-$wd day" +%Y%m%d`;

Bagi kita yang tidak memiliki tanggal GNU (seperti kita OS Xers), kita mungkin memiliki parameter "-v"

Anda kemudian dapat melakukan ini:

# Most recent Monday
date -v -Mon

# Output as of this writing
Mon Jun 24 12:35:48 EDT 2013

date -v -Mon "+%Y%m%d"

# Outputs
20130624

Ini juga sepertinya tidak menjadi masalah jika hari ini adalah hari Senin, dalam kasus saya saat ini adalah hari Kamis

# Today's date
date

# Outputs
Thu Jun 27 12:41:39 EDT 2013

# Most recent Thursday
date -v -Thu

# Outputs
Thu Jun 27 12:41:46 EDT 2013

#monday
date -dmonday +%Y%m%d

#last monday
date -dlast-monday +%Y%m%d

#next monday
date -dnext-monday +%Y%m%d

#two mondays from now
date -d'monday+14 days' +%Y%m%d

#two mondays ago
date -d'monday-14 days' +%Y%m%d

#although, if you fancy yourself an Abraham Lincolin
date -d'monday-fortnight ago' +%Y%m%d #2 weeks ago
date -d'monday+fortnight' +%Y%m%d #2 weeks from now

#Monday Next Year
date -d'52+monday' +%Y%m%d

#However, Monday Last Year
date -d'52-monday' +%Y%m%d  #DOES NOT  WORK




#you can try a day other than monday
#and format this differently.

jika rentang sesuai keinginan Anda, Anda mungkin perlu melakukan beberapa hal

#Tuesday to Sunday
#since today is monday, I'll use Tuesday
echo `date -dtuesday +%Y%m%d-``date -dnext-sunday +%Y%m%d`

yang akan menampilkan:

20110628-20110703

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


Saya pikir ini benar-benar menjawab apa yang diminta:

date -d "next monday - 7 days"

Linux
  1. Kiat bash untuk sehari-hari di baris perintah

  2. Dua kegunaan hebat untuk perintah cp:pintasan Bash

  3. Tujuan Kata Kunci "lakukan" Di Bash For Loops?

  1. Menjaga Anda di Loop – Contoh Bash Untuk, Sementara, Sampai Loop

  2. Dapatkan waktu saat ini dalam hitungan detik sejak Zaman di Linux, Bash

  3. Konversi format tanggal dalam bash

  1. Dapatkan Halaman Man Individu Untuk Perintah Bash Builtin??

  2. Periksa ruang disk kosong untuk partisi saat ini di bash

  3. Cara menentukan jumlah minggu dalam sebulan