// DST update detection, Andrew Daviel, TRIUMF, March 2007 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.util.Calendar; import java.util.TimeZone ; public class j3timex2app2 extends Applet{ public void init() { setBackground(Color.cyan); } public void start() { System.out.println("java.version "+System.getProperty("java.version")) ; } public void stop() { System.out.println("stopping..."); } public void destroy() { System.out.println("preparing to unload..."); } public void paint(Graphics g){ int x,y,dy ; x=15 ; y=25 ; dy=15 ; Calendar c = Calendar.getInstance(); int off = c.get (Calendar.DST_OFFSET ) / (60 * 1000) ; TimeZone tz = c.getTimeZone() ; System.out.println("Paint"); g.setColor(Color.blue); g.drawRect(0, 0, getSize().width -1, getSize().height -1); g.setColor(Color.red); g.drawString(System.getProperty("java.vendor") + " Java "+System.getProperty("java.version"), x,y) ; y+= dy ; g.drawString("Current Timezone: " + tz.getDisplayName(), x,y) ;y+= dy ; c.set(2007,2,15) ; g.drawString( "Expect PDT for March 15, and get " + c.getTime (), x,y ) ; y+= dy ; off = c.get (Calendar.DST_OFFSET ) / (60 * 1000) ; y+= dy ; if (off == 60) { g.drawString("Correct (Java is OK)", x,y ) ; y+= dy ; } else { g.drawString("Incorrect (Java must be updated or patched)", x,y ) ; y+= dy ; } } }