2017-11-19 11 views
2

私はまだかなり新しいです。私は既存のコードをリファクタリングしています。多くの場所で、MaxAgeなどの設定には86400 * { days }を使用しました。設定時間を移動します。 2週間、1ヶ月、1年など

これらを設定する方法はもっと簡単ですか?私は、時間の検証と、物事を使用する必要が今より多くのユースケースがありますが、私はなど、6標準ヶ月で2標準週間の時間のようなもの、あるいは時間を行う方法を疑問に思って

おかげ

答えて

4

使用AddDate

twoWeeksFromNow := time.Now().AddDate(0, 0, 14) 
oneMonthFromNow := time.Now().AddDate(0, 1, 0) 
oneYearFromNow := time.Now().AddDate(1, 0, 0) 
+0

ありがとうございます!また、私はこれも尋ねようと思っています - どのようにtime.durationをintに変換するのか? – scarywolfman

+0

期間をintに変換するには、[型変換](https://golang.org/ref/spec#Conversions)を使用してください。int(d) –

+0

ああそうです。ありがとうございました! – scarywolfman

1

これはDurationタイプは、その定義済みの定数と一緒に、何のためにあるのかです。

が、あなたはそれで大丈夫なら、ような何か等によるタイムゾーンと夏時間の変更に、それは常に優雅日を処理しないことに注意してください。これを追加するには

maxAge := days * 24 * time.Hour 

を現時点ではAddを使用できます。

deadline := time.Now().Add(maxAge) 
関連する問題