-1

私のプログラムは「yyyymmdd」の形式の日付を受け入れますが、それが平日であるかどうかを確認する方法がわかりません。pplが$(date +%u) -gt 5または"$(date +%a)" in Sat|Sun echo "weekend"他のスレッドで使用しているのを見たことがありますが、その${date}はTue Nov 22 14:16:35 EST 2011私が推測するようなものです。では、「yyyymmdd」を$ {date}形式に変換する良い方法はありますか?または、「yyyymmdd」が平日かどうかを確認する簡単な方法はありますか?どんな言語でも構いません。ありがとう。

4

2 に答える 2

2

任意の言語? Java ではSimpleDateFormat、または Joda Time のDateTimeFormatter. C# では、DateTime.ParseExactまたはNoda TimeLocalDatePattern. これらすべての場合において、結果は曜日などを求めることができる値です。

datetime.strptimePythonでは、たとえば、あなたが欲しいと思います

date = datetime.strptime(text, "%Y%m%d")
day = date.weekday()

if day < 5 # Monday(0) to Friday(4)
    # Do something here

ただし、これは完全にテストされていません...

于 2011-11-22T19:28:01.123 に答える
0

通常、型付き言語 (Java、C#、Python など) では、1) 「時刻」を言語固有の「時刻日付」型に初期化し、2) 何らかのメソッドから「曜日」を取得します。その時の。

Bourne シェルを使用しているようです。これは型付けされていない言語であり、ネイティブの日付/時刻関数はありません。

考えられる解決策の 1 つを次に示します。

http://unix.ittoolbox.com/groups/technical-functional/shellscript-l/day-of-week-bash-script-2018531

(Linux) Bourne シェルで実行できる、時間/タイミングに関連するいくつかのことを次に示します。

http://tldp.org/LDP/abs/html/timedate.html

于 2011-11-22T19:34:08.957 に答える