Notice: Undefined index: HTTP_ACCEPT_ENCODING in C:\server\web\www.showyounger.com\s-system.php on line 2
Java时间格式转换获得时区 | 小样儿(ShowYounger)
小样儿,顶呱呱!!![http://www.showyounger.com]
- import java.awt.*;
- import java.awt.event.*;
- import java.util.*;
-
-
- public class TimerTest {
- public static void main(String[] args) {
- new TimerTestFrame("世界时钟");
- }
- }
-
- class TimerTestFrame extends Frame {
-
-
-
- private static final long serialVersionUID = 1L;
-
- public TimerTestFrame(String s) {
- super(s);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- dispose();
- System.exit(0);
- }
- });
- setLayout(new GridLayout(2, 6));
-
- ClockCanvas clk1 = new ClockCanvas("北京", "GMT+8");
- ClockCanvas clk2 = new ClockCanvas("巴黎", "GMT+2");
- ClockCanvas clk3 = new ClockCanvas("华盛顿", "GMT-4");
- ClockCanvas clk4 = new ClockCanvas("洛衫矶", "GMT-7");
- ClockCanvas clk5 = new ClockCanvas("伦敦", "GMT+1");
- ClockCanvas clk6 = new ClockCanvas("芝加哥", "GMT-5");
- add(clk1);
- add(clk2);
- add(clk3);
- add(clk4);
- add(clk5);
- add(clk6);
- setSize(500, 350);
- setVisible(true);
- }
- }
-
- class ClockCanvas extends Canvas implements Runnable {
-
-
-
- private static final long serialVersionUID = 1L;
-
- private int seconds = 0;
-
- private String city;
-
- private GregorianCalendar calendar;
-
- Thread t;
-
- public ClockCanvas(String c, String tz) {
- city = c;
-
- calendar = new GregorianCalendar(TimeZone.getTimeZone(tz));
- t = new Thread(this);
- t.start();
- setSize(125, 125);
- setBackground(Color.black);
- }
-
-
- public void paint(Graphics g) {
- Graphics2D g2d = (Graphics2D) g;
- BasicStroke bstroke = new BasicStroke(2.0f);
- g2d.setStroke(bstroke);
- g2d.setColor(Color.green);
- g2d.drawOval(0, 0, 100, 100);
- bstroke = new BasicStroke(5.0f);
- g2d.setStroke(bstroke);
- g2d.drawLine(50, 0, 50, 5);
- g2d.drawLine(0, 50, 5, 50);
- g2d.drawLine(50, 95, 50, 98);
- g2d.drawLine(95, 50, 98, 50);
- double hourAngle = 2 * Math.PI * (seconds - 3 * 60 * 60)
- / (12 * 60 * 60);
- double minuteAngle = 2 * Math.PI * (seconds - 15 * 60) / (60 * 60);
- double secondAngle = 2 * Math.PI * (seconds - 15) / (60);
- bstroke = new BasicStroke(5.0f);
- g2d.setStroke(bstroke);
- g2d.drawLine(50, 50, 50 + (int) (30 * Math.cos(hourAngle)),
- 50 + (int) (30 * Math.sin(hourAngle)));
- bstroke = new BasicStroke(3.0f);
- g2d.setStroke(bstroke);
- g2d.drawLine(50, 50, 50 + (int) (40 * Math.cos(minuteAngle)),
- 50 + (int) (40 * Math.sin(minuteAngle)));
- bstroke = new BasicStroke(1.0f);
- g2d.setStroke(bstroke);
- g2d.drawLine(50, 50, 50 + (int) (45 * Math.cos(secondAngle)),
- 50 + (int) (45 * Math.sin(secondAngle)));
- g2d.setColor(Color.red);
- g2d.drawString(city, 35, 115);
- }
-
- public void timeElapsed() {
-
- System.out.println(new Date());
- calendar.setTime(new Date());
- seconds = calendar.get(Calendar.HOUR) * 60 * 60
- + calendar.get(Calendar.MINUTE) * 60
- + calendar.get(Calendar.SECOND);
- }
-
- public void run() {
- try {
- while (true) {
- Thread.sleep(300);
- timeElapsed();
- repaint();
- }
- } catch (InterruptedException e) {
- }
- }
- }