2012-06-07 19 views
12

Acaba, Java'nın TimeUnit sınıfında neden bazı enumlar eksik? iJava: Neden TimeUnit'in eksik enumları var?

+0

Sınır nerede? Peki ya fortnights? Jubilees? Zettaseconds? –

+1

Ayrıca bir yıl sabit değil, iyi bir uyum olmaz. Sınıfın belgelendirilmiş kullanımı, zamana dayalı yöntemleri bilgilendirmek için kullanılır. Çünkü bir günün ötesinde, kullanım amacı için mantıksızdır. –

cevap

15

TimeUnit.DAYS sabiti 24 saat değil, bir takvim günü (gece yarısından gece yarısına) bir aralığını temsil ... HAFTANIN, YIL gibi şeyler kullanmak istemekle birlikte

Aslında maksimum TIMEUNIT DAY. Bir günün ötesinde (hafta, bir ay, bir yıl) herhangi bir şey, bir zaman birimi değil, bir takvim birimidir. Takvim birimlerinin süresi, kullanımdaki takvime bağlıdır: Örneğin, bir hafta, gün ışığından yararlanma saatinin etkinleştiği ve etkisiz kaldığı haftalarda bir saat kadar daha uzun veya daha kısa olabilir, artık yıllar bir günden daha uzun olabilir, vb. Bu nedenle, takvim birimlerinin TimeUnit numaralandırmasına dahil edilmesinin bir anlamı yoktur.

+0

i'm çok aptal ... Teşekkürler –

+1

Java 8 [java.time.temporal.ChronoUnit] sağlar (https://docs.oracle.com/javase/8/docs/api/java/time/temporal/ChronoUnit. html) yararlı olabilir. –

İlgili konular