2013-12-10 24 views
24

変数date-todayを現在の日付に設定し、date_dirを昨日の日付に設定する場合は、両方ともyyyy-mm-ddの形式で設定します。変数を現在の日付と日付に設定するにはどうすればいいですか?

私はこれをやっている:

#!/bin/bash 
d=`date +%y%m%d%H%M%S` 
echo $d 
+1

どのように私は混乱していますあなたがした正確な時点で立ち往生することができました。指定された形式を使用して日付を取得できましたが、必要な形式は取得できませんでした。出力を変数に保存しましたが、必要な変数は保存しませんでした。 "私はこれをやっている"の下にコードを書く方法をどうやって管理しましたか、それをあなたが必要とするものに微調整する少し余裕がないのですか? – ruakh

+0

@ruakh:実際には$ d変数をディスパッチしていないので、このbashスクリプトには新しくなっています –

+0

あなたが投稿したスクリプトは '$ d'を出力します。あなたはそれがそうではないと言いますか? – ruakh

答えて

45

をすべきあなたは試すことができます:

#!/bin/bash 
d=$(date +%Y-%m-%d) 
echo "$d" 

はEDIT:ごとに4桁の日付のYにYを変更QuantumFoolのコメント。

+0

実際に、年が4文字(2016)の長さで表示されることになっている場合は、%yの代わりに%Yを使用する必要があります(20を切り捨てて16を返します) – QuantumFool

1

あなたはman date最初

date +%Y-%m-%d 
date +%Y-%m-%d -d yesterday 
+0

私はそれを行う方法を変数に設定したいです。私はbashスクリプトを作成しています。 –

+0

昨日+%Y-%m-%d '2013-12-09'日+%Y-%m-%d -d昨日がピッキングされています'2013-12-09' –

2

シンプル:あなたはまた、manページから、短い形式

を使用することができます

today="$(date '+%Y-%m-%d')" 
yesterday="$(date -d yesterday '+%Y-%m-%d')" 
2

%F  full date; same as %Y-%m-%d 

例:

#!/bin/bash 
date_today=$(date +%F) 
date_dir=$(date +%F -d yesterday)