Bir time.Duration
içine weeksToAdd
dönüştürmek gerekir: Git
myDate.Add(time.Hour * 24 * 7 * time.Duration(weeksToAdd))
, tip diğer adları
time.Duration
teknik olarak bir
int64
olsa bile birbirinin kullanılamaz. Ayrıca, burada, sayısal sabitler (24 ve 7) açıkça yazılmasa da, hala olduğu gibi kullanılabilirler, daha ayrıntılı bir açıklama için
https://blog.golang.org/constants'a bakınız. Çalışan örnek için bkz
http://play.golang.org/p/86TFFlixWj.
time.Duration
temelde nanosaniye temsil beri, 24 saat daha üstün süresine çalışırken
görüş ve başka cevapta belirtildiği üzere
, time.AddDate()
kullanımı time.Add()
tercih edilir. Günler, haftalar, aylar ve yıllar ile çalışırken, gün ışığından yararlanma zamanı, artık yıllar ve belki de potansiyel olarak sıçrayan saniyeler gibi şeyler nedeniyle çok fazla özen gösterilmelidir.
time.Duration
türü için dokümantasyon ve birimlerini temsil eden ilişkili sabitleri bu sorunu (https://golang.org/pkg/time/#Duration) vurgulamak: yaz saati dilimi geçişler arasında karışıklığı önlemek için Günün birimleri veya daha büyük hiçbir tanımı yoktur
.
Time.Add yerinde çalışmaz. –
Evet, bu doğru ve örneği düzeltdim, ama buradaki nokta da bu. – SirDarius
Düzenleme için teşekkürler neden 24 ve 7 kullanabiliyorum açıklamak. Bu benim takip sorusu olmak üzereydi. –