Ketika saya mencoba untuk mendapatkan nomor minggu untuk tanggal 31 Desember, itu mengembalikan 1. Ketika saya mendapatkan nomor minggu untuk tanggal 30 Desember, saya mendapatkan 52 --- yang adalah apa yang saya harapkan. Hari Senin benar. Ini pada RPI yang menjalankan Ubuntu.
$ date -d "2018-12-30T1:58:55" +"%V%a"
52Sun
$ date -d "2018-12-31T1:58:55" +"%V%a"
01Mon
Masalah yang sama tanpa string waktu
$ date -d "2018-12-31" +"%V%a"
01Mon
linux
command-line
date
George Shafer
sumber
sumber
date
katakan?Jawaban:
Ini memberi Anda minggu ISO yang dimulai pada hari Senin.
Jika Anda ingin menampilkan 12/31 sebagai minggu 52, Anda harus menggunakan
%U
, yang tidak menggunakan standar ISO:sumber
Definisi jumlah minggu berbeda antara Eropa dan Amerika Serikat, mungkin standar ISO versus ANSI. Ini mungkin terkait dengan minggu yaitu Minggu - Sabtu atau Senin - Minggu, dan ini lagi mungkin terkait dengan definisi Yahudi versus Kristen tentang Hari Tuhan (Sabat vs Minggu).
Untuk Eropa, minggu nomor 1 berisi Kamis pertama di bulan Januari, dan karenanya berisi minimal 4 hari (yaitu mayoritas) milik tahun baru (Kamis-Jumat-Sabtu-Minggu).
Bagaimanapun, di tahun-tahun seperti itu ketika SEMUA (!!) angka minggu berbeda +/- 1 antara Eropa dan Amerika Serikat, ini memberikan kesenangan besar dengan mengatur jadwal di perusahaan multi-nasional. :-)
sumber