gawkで週の異なる曜日を持つ日付に基づいて週番号を取得


0

週の初めの日にawkを使ってLinuxの週番号を取得するにはどうすればいいですか?の date コマンドは私に週番号を与えることができます +%V しかしそれは月曜日(1-53)に基づいています +%U (日曜日、0〜53)

私はこれをやろうとしました: date -d "ddmmyy+2days" +%Vしかし、結果は正しくありません。私は週の最初の日が土曜日に基づいていることを望みます。

ありがとう

編集:条件を追加します 私の場所での週の最初の日は土曜日です、そして最初の週は最も近い土曜日までの日の数に依存します。今週の土曜日の直前の日数が4日未満の場合は、昨年の週(52/53)までカウントされます。年末の週と同じです。


注意してください。(少なくともビジネスでは)週番号の定義は難しいかもしれません。たとえば、多くの国では、week1は「木曜日がある最初の週」と定義されています。したがって、week1は昨年になることになるかもしれません!

はい、私のところの週の最初の日は土曜日です、そして最初の週は最も近い土曜日までの日の数に依存します。今週の土曜日の直前の日数が4日未満の場合は、昨年の週(52/53)までカウントされます。年末の週と同じです…
nandaka

回答:


0

strftime (少なくともgawkで)それができます。例えば。:

awk '{print strftime("%U",systime()) ; exit }'

こちらの公式文書を参照してください。 http://www.gnu.org/software/gawk/manual/html_node/Time-Functions.html


問題は、日付の週番号を取得したいが、週の最初の曜日が異なることです(例:土曜日)。 %Uの週の最初の日は日曜日、%Vは月曜日です。
nandaka

それで、追加しました if 声明、例えば if ( strftime("%A",systime()) == "Saturday" ) { print strftime("%U",systime())+1 } else { strftime("%U",systime()) }
Zsolt Botykai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.