1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

[Java]set TimeZone help needed

Discussion in 'Programming' started by argothiusz, May 1, 2008.

  1. #1
    Below is the code. How do I change the time zone into different timezone instead of user default location time zone. Thanks!!


    
    
    import java.util.*;
    import java.awt.*;
    import java.applet.*;
    import java.text.*;
    
    
    
    public class Clock extends Applet implements Runnable {
        private volatile Thread timer;       // The thread that displays clock
        private int lastxs, lastys, lastxm,
                    lastym, lastxh, lastyh;  // Dimensions used to draw hands 
        private SimpleDateFormat formatter;  // Formats the date displayed
        private String lastdate;             // String to hold date displayed
        private Font clockFaceFont;          // Font for number display on clock
        private Date currentDate;            // Used to get date to display
        private Color handColor;             // Color of main hands and dial
        private Color numberColor;           // Color of second hand and numbers
        private int xcenter = 80, ycenter = 55; // Center position
    
        public void init() {
            int x,y;
            lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
            formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", 
                                              Locale.getDefault());
                                              
            currentDate = new Date();
           
                   
            
            lastdate = formatter.format(currentDate);
            clockFaceFont = new Font("Arials", Font.PLAIN, 14);
            handColor = Color.blue;
            numberColor = Color.darkGray;
    
            try {
                setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),
                                                         16)));
            } catch (NullPointerException e) {
            } catch (NumberFormatException e) {
            }
            try {
                handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),
                                                       16));
            } catch (NullPointerException e) {
            } catch (NumberFormatException e) {
            }
            try {
                numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),
                                                         16));
            } catch (NullPointerException e) {
            } catch (NumberFormatException e) {
            }
            resize(300,300);              // Set clock window size
        }
    
        // Paint is the main part of the program
        public void update(Graphics g) {
            int xh, yh, xm, ym, xs, ys;
            int s = 0, m = 10, h = 10;
            String today;
    
            currentDate = new Date();
        
         
            formatter.applyPattern("s");
            try {
                s = Integer.parseInt(formatter.format(currentDate));
            } catch (NumberFormatException n) {
                s = 0;
            }
            formatter.applyPattern("m");
            try {
                m = Integer.parseInt(formatter.format(currentDate));
            } catch (NumberFormatException n) {
                m = 10;
            }    
            formatter.applyPattern("h");
            try {
                h = Integer.parseInt(formatter.format(currentDate));
            } catch (NumberFormatException n) {
                h = 10;
            }
        
            // Set position of the ends of the hands
            xs = (int) (Math.cos(s * Math.PI / 30 - Math.PI / 2) * 45 + xcenter);
            ys = (int) (Math.sin(s * Math.PI / 30 - Math.PI / 2) * 45 + ycenter);
            xm = (int) (Math.cos(m * Math.PI / 30 - Math.PI / 2) * 40 + xcenter);
            ym = (int) (Math.sin(m * Math.PI / 30 - Math.PI / 2) * 40 + ycenter);
            xh = (int) (Math.cos((h*30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30
                       + xcenter);
            yh = (int) (Math.sin((h*30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30
                       + ycenter);
        
            // Get the date to print at the bottom
            formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
            today = formatter.format(currentDate);
    
            g.setFont(clockFaceFont);
            // Erase if necessary
            g.setColor(getBackground());
            if (xs != lastxs || ys != lastys) {
                g.drawLine(xcenter, ycenter, lastxs, lastys);
                g.drawString(lastdate, 5, 125);
            }
            if (xm != lastxm || ym != lastym) {
                g.drawLine(xcenter, ycenter-1, lastxm, lastym);
                g.drawLine(xcenter-1, ycenter, lastxm, lastym); 
            }
            if (xh != lastxh || yh != lastyh) {
                g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
                g.drawLine(xcenter-1, ycenter, lastxh, lastyh); 
            }
    
            // Draw date and hands
            g.setColor(numberColor);
            g.drawString(today, 5, 125);    
            g.drawLine(xcenter, ycenter, xs, ys);
            g.setColor(handColor);
            g.drawLine(xcenter, ycenter-1, xm, ym);
            g.drawLine(xcenter-1, ycenter, xm, ym);
            g.drawLine(xcenter, ycenter-1, xh, yh);
            g.drawLine(xcenter-1, ycenter, xh, yh);
            lastxs = xs; lastys = ys;
            lastxm = xm; lastym = ym;
            lastxh = xh; lastyh = yh;
            lastdate = today;
            currentDate = null;
        }
    
        public void paint(Graphics g) {
            g.setFont(clockFaceFont);
            // Draw the circle and numbers
            g.setColor(handColor);
            g.drawArc(xcenter-50, ycenter-50, 100, 100, 100, 360);
            g.setColor(numberColor);
            g.drawString("9", xcenter-45, ycenter+3); 
            g.drawString("3", xcenter+40, ycenter+3);
            g.drawString("12", xcenter-5, ycenter-37);
            g.drawString("6", xcenter-3, ycenter+45);
    
            // Draw date and hands
            g.setColor(numberColor);
            g.drawString(lastdate, 5, 125);    
            g.drawLine(xcenter, ycenter, lastxs, lastys);
            g.setColor(handColor);
            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
            g.drawLine(xcenter-1, ycenter, lastxm, lastym);
            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
            g.drawLine(xcenter-1, ycenter, lastxh, lastyh); 
        }
    
        public void start() {
            timer = new Thread(this);
            timer.start();
        }
    
        public void stop() {
            timer = null;
        }
    
        public void run() {
            Thread me = Thread.currentThread();
            while (timer == me) {
                try {
                    Thread.currentThread().sleep(100);
                } catch (InterruptedException e) {
                }
                repaint();
            }
        }
    
        public String getAppletInfo() {
            return "Title: Java Clock \n"
                + "Analog and Digital";
                
        }
      
        public String[][] getParameterInfo() {
            String[][] info = {
                {"bgcolor", "hexadecimal RGB number", 
                 "The background color. Default is the color of your browser."},
                {"fgcolor1", "hexadecimal RGB number", 
                 "The color of the hands and dial. Default is blue."},
                {"fgcolor2", "hexadecimal RGB number", 
                 "The color of the second hand and numbers. Default is dark gray."}
            };
            return info;
        }
    }
    
    PHP:

     
    argothiusz, May 1, 2008 IP
  2. Arkserver

    Arkserver Banned

    Messages:
    2,533
    Likes Received:
    35
    Best Answers:
    0
    Trophy Points:
    0
    #2
    TimeZone tZone = TimeZone.getTimeZone("yourZone");
     
    Arkserver, May 4, 2008 IP