LinuxでDateからMonthとDateを取得しようとしています。これは私のコードです
# Set Date
D="2013/01/17"
# get day
DD=$(D+"%d")
# get day
MM=$(D+"%M")
# Day
echo "Day:"$DD
echo "Month:"$MM
sh
またはbash
で:
D="2013/01/17"
DAY=$(date -d "$D" '+%d')
MONTH=$(date -d "$D" '+%m')
YEAR=$(date -d "$D" '+%Y')
echo "Day: $DAY"
echo "Month: $MONTH"
echo "Year: $YEAR"
または、現在の日付が必要な場合は、date +%Y/%m/%d
。それらを別々にしたい場合は、次のようなことができます:
read YYYY MM DD <<<$(date +'%Y %m %d')
echo "Today is Day:$DD Month:$MM"
より簡単なアプローチは次のとおりです。
DD=$(date +%d)
MM=$(date +%m)
echo "Today is Day:$DD Month:$MM"
ただし、この場合はdate
を2回実行しますが、これは非効率的であり、本当に運が悪い場合は、これら2行の間で日付が変わる可能性があります;)
kent$ D="2013/01/17"
kent$ awk -F/ '{print "year:"$1,"Month:"$2,"Day:"$3}'<<<$D
year:2013 Month:01 Day:17
月または日だけが必要な場合は、そこに2ドルまたは3ドルを残し、不要な部分を削除します
編集
kent$ year=$(awk -F/ '{print $1}' <<<$D)
kent$ echo $year
2013