LoginSignup
1
1

More than 3 years have passed since last update.

yyyymmddが正しい日付かチェックする

Last updated at Posted at 2020-02-18

日付の文字列が正しいか判断するのに正規表現を使った複雑な比較もあるが、dateコマンドを使うのが一番楽かな。。。

$ date +%Y%m%d -d 20190230
date: '20190230' は無効な日付です
$ date +%Y%m%d -d 20190229
date: `20190229' は無効な日付です
$ date +%Y%m%d -d 20200229
20200229
$ date +%Y%m%d -d abcd
date: `abcd' は無効な日付です

元のyyyymmddとdateコマンドを通した後のyyyymmddを比較して一致してたら正しい日付

A=20200218
B=$(date +%Y%m%d -d $A 2>/dev/null)
if [ "$A" = "$B" ]; then
    echo "correct date"
else
    echo "incorrect date"
fi
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1