Saya mencari perintah Unix langsung untuk mendapatkan hari Minggu pertama bulan depan, Senin pertama bulan depan, Selasa pertama bulan depan, Rabu pertama bulan depan dll.
Saya akan membutuhkannya dalam format tanggal yang lengkap (waktu tidak wajib)
Saya bisa mendapatkan angka seperti 2, 3, 4 dll. Karena saya tidak ingin hanya angka, saya akan membutuhkannya dalam format tanggal (termasuk hari, bulan, tahun)
$ NEXT_MONTH=`date +'%m %Y' -d 'next month'` $ echo $NEXT_MONTH 04 2017 $ NEXT_SUNDAY=`cal $NEXT_MONTH | awk 'NF==7 && !/^Su/{print $1;exit}'` $ echo $NEXT_SUNDAY 2
Saya perlu tanggal ini untuk mengirim pemberitahuan untuk grup email.
Mis: Saya bisa mendapatkan Sabtu pertama bulan depan seperti di bawah ini.
$ firstofmonth=$(date -d '+1 months' '+%Y%m01')
20170401
$ firstsaturday=$(date -d "$firstofmonth" '+%Y-%m')-$((7 - \
$(date -d "$firstofmonth" '+%u') ))
2017-04-1
bash
adalah klon ksh yang belum selesai (dengan beberapa fitur (t) csh dan zsh dan bahkan beberapa miliknya sendiri). Versi terbarubash
telah menambahkan dukungan untukprintf '%(format)T'
dariksh93
, tetapi bukan kemampuan untuk menguraikan spesifikasi tanggal semacam ini. Ganti bang-bang Anda dengan#! /path/to/ksh93 -
.bash
Adalah klon ksh yang belum selesai" - Saya selalu merasa seperti itu.Dengan asumsi GNU
date
(untuk itu-d
Anda menggunakan diri Anda sendiri), danzsh
shell-like untuk{1..7}
:Ganti
awk
Mondengan apa pun hari kerja yang diperlukan (gunakanLC_ALL=C
untuk mendapatkan nama bulan bahasa Inggris terlepas dari lokal pengguna). Juga, mungkin lebih baik untuk menyimpan ini ke dalam variabel jika Anda akan meminta kembali untuk setiap hari dalam seminggu:sumber
PHP sebenarnya memudahkan penguraian tanggal dengan input tekstual, jika tersedia di sistem Anda.
Contoh:
Saya memiliki fungsi ini di .bashrc saya:
Yang bisa saya gunakan sebagai:
Edit opsi Menambahkan untuk digunakan
cal
Hampir setiap sistem yang dimiliki
bash
akan memilikical
. Program kalender. Anda bisa mendapatkan daftar tanggal untuk pertama setiap hari minggu dengan menjalankan kombinasical
,date
danawk
, sebagai berikut:Yang akan memberi Anda output berikut:
Ubah
$2
ke$NF
dalam pernyataan awk untuk mendapatkan tanggal kemunculan terakhir setiap hari dalam sebulan.sumber
php
menginstal. Saya telah diperbarui dengan contoh yang menggunakancal
,date
danawk
perintah.