... önce veya 2 saat sonra ise Yaz Saati Uygulaması. Temel olarak her ülke -ve-eğer-DST başlar ve bittiğinde kendileri karar verebilir. Geliştiriciler olarak yapabileceğimiz tek şey, bakmak için bir çeşit masa kullanıyor. Çoğu bilgisayar dili, böyle bir tabloyu dilde birleştirir.
Java'da TimeZone sınıfının inDaylightTime
yöntemini kullanabilirsiniz. DST'nin belirli bir yılda başladığı veya sona erdiği tarih ve saati öğrenmek istiyorsanız, Joda Time'u kullanmanızı tavsiye ederim. Bunu sadece standart kütüphaneleri kullanarak bulmanın temiz bir yolunu göremiyorum. (Belirli bir zaman dilimi belli yıl boyunca DST yoksa beklenmedik sonuçlar verebilir unutmayın)
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
public class App {
public static void main(String[] args) {
DateTimeZone dtz = DateTimeZone.forID("Europe/Amsterdam");
System.out.println(startDST(dtz, 2008));
System.out.println(endDST(dtz, 2008));
}
public static DateTime startDST(DateTimeZone zone, int year) {
return new DateTime(zone.nextTransition(new DateTime(year, 1, 1, 0, 0, 0, 0, zone).getMillis()));
}
public static DateTime endDST(DateTimeZone zone, int year) {
return new DateTime(zone.previousTransition(new DateTime(year + 1, 1, 1, 0, 0, 0, 0, zone).getMillis()));
}
}
böylece sürer Joda hiçbir dahili yöntem vardır:
aşağıdaki program örneğidir "DateTime" ve bir "DateTimeZone" ve bana datetime Daylight olup olmadığını söyler? – russau
@russau (A) Evet, russau, Joda-Time 2.3'te böyle bir yerleşik yöntem var. Başka bir soruda [yanıtım] (http://stackoverflow.com/a/19870158/642706) konusuna bakın. (B) Bu orijinal posterden farklı bir soru soruyorsunuz. –