「java给定gmt」java给定一个会议时间安排的数组

博主:adminadmin 2022-11-25 08:11:07 45

本篇文章给大家谈谈java给定gmt,以及java给定一个会议时间安排的数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在java中,怎么得到用户输入的日期时间与GMT相距的时间差

一般情况下不会出现如题所示的问题,既然出现了我们就要想办法解决之。以我的机器为例,我的当前系统时间是北京时间2011-08-31T08:00:00,但是newDate()得到的却是:2011-08-31T00:00:00。表示java得到的时间比当前系统时间提前了8个小时,那么我们就要想办法把java得到的时间向后推迟8个小时。解决的办法是:

1、找到你用的jre文件夹,以本机为例:C:\Program Files\Java\jdk1.5.0\jre

2、在上述文件夹下有个zi文件夹,我们的工作都在这里。

3、zi文件夹下有一个Etc文件夹,我们要做的工作就是从这个文件夹下找到对应的GMT文件替换zi下GMT文件。

4、选择哪个文件呢?如果java获取的时间+N=当前系统时间,就选择GMT-N文件,重命名为GMT,覆盖掉zi下的GMT文件,如果java获取的时间-N=当前系统时间,就选择GMT+N文件,重命名为GMT,覆盖掉zi下的GMT文件。

5、再运行一下你的程序看时间是不是正确了,如果还是不正确,请确认你的jre目录是否选得正确。

java中已知一个时区TimeZone,想取下一个时区如何取?

在TimeZone类中有个静态方法 getAvailableIDs(int rawoffset) 可以获取rawoffset对应的所有的时区id,其中参数表示时间偏移量,用毫秒表示,例如东八区,则为8*60*60*1000。有了区域ID,就可以根据静态方法getTimeZone(String zoneId)获取对应的区域了。

所以获取一个时间对应的所有区域就可以实现为:

TimeZone tz = TimeZone.getDefault();

int rawOffset = 8;

String[] ids = TimeZone.getAvailableIDs(rawOffset * 60 * 60 * 1000);

for (String id : ids) {

tz = TimeZone.getTimeZone(id);

}

针对题主的要求,拿到tz之后,需要获得下一个时区,可以这样实现

TimeZone tz = TimeZone.getTimeZone("GMT+8:00");

int x = 1;//可以为-2、-1、1、2。。。先获取rawoffset,再获取时区

int rawOffset = tz.getRawOffset() + x * 60 * 60 * 1000;

String[] ids = TimeZone.getAvailableIDs(rawOffset);

for (String id : ids) {

TimeZone nexttz = TimeZone.getTimeZone(id);

}

java怎么获取gmt当前的系统时间

Date now = new Date(); 当前时间就是now,你试着打印一下就出来了,如果对日期时间格式有要求,就SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式,不就OK了

java中如何获取时区?

//我实现一个时钟窗口程序给你了,好让你更容易理解,希望对你有帮助。

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;

//也可以通过TimeZone.setTimeZone(String n)函数改变时区,n为时区参数名。

calendar = new GregorianCalendar(TimeZone.getTimeZone(tz));

t = new Thread(this);

t.start();

setSize(125, 125); // 设置画布大小

setBackground(Color.black);

}

// 重写父类的方法绘制时钟图形

public void paint(Graphics g) {

Graphics2Dg2d = (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() {

//new Date()()获得当前时间

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) {

}

}

}

关于java给定gmt和java给定一个会议时间安排的数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。