导航:首页 > 编程语言 > java获取时间gmt

java获取时间gmt

发布时间:2022-05-14 00:01:03

⑴ 在java中怎么获取北京时间

一般情况可以用直接用Date类,例如:

Date date = new Date(System.currentTimeMillis()); System.out.println(date);先用System.currentTimeMillis()是得到系统当前时间。然后输出就可以了。

但是如果要更加准确的话,最好用Calendar类,因为可能用你的程序的系统不是中国的,用Date date = new Date(System.currentTimeMillis())得到的就是不是北京时间了。所以可以用Calendar calendar = Calendar.getInstance(Locale.CHINA);

还可以用SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");来格式化时间。下面是一个简单的实例:

publicclassGetTime
{
publicstaticvoidmain(String[]args)
{
Calendarcalendar=Calendar.getInstance(Locale.CHINA);
Datedate=calendar.getTime();
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
StringdateString=dateFormat.format(date);
System.out.println(dateString);
}
}

导入包的时候Date类是java.util下的Date类,java.util.Date;

⑵ 怎么实时同步java虚拟机与操作系统时区 及JVM启动后再更改操作系统时区或时间也能保持其同步

在一个精简的linux安装上jre,发现所有的java程序获取的时间都不是系统时间。后来发现原来是时区不对。
java程序获取的时间都是GMT时间,而系统是北京时间,应该是GMT+8,刚好相差8小时。网上搜了好多资料,只有两种方法:1、在程序中使用
java的函数设定时区。2、在启动java程序时加参数-Duser.timezone=GMT+8

⑶ java获取网络当前时间

如果你要获取的是Internet时间,可以使用NTP服务。

NTP概念简介
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。


java实现:

importjava.io.InputStream;
importjava.net.Socket;

publicclassTimeUtil{
publicstaticfinalintDEFAULT_PORT=37;//NTP服务器端口
_HOST="time-nw.nist.gov";//NTP服务器地址
privateTimeUtil(){
};

(Booleansync){
if(sync!=null&&sync.booleanValue()!=true)
returnSystem.currentTimeMillis();
try{
returnsyncCurrentTime();
}catch(Exceptione){
returnSystem.currentTimeMillis();
}
}

()throwsException{
//,
//thejavaDateclassat1970.Thisnumber
//convertsbetweenthem.
longdifferenceBetweenEpochs=2208988800L;

//Ifyou'
//.

/*
*TimeZonegmt=TimeZone.getTimeZone("GMT");Calendarepoch1900=
*Calendar.getInstance(gmt);epoch1900.set(1900,01,01,00,00,00);
*longepoch1900ms=epoch1900.getTime().getTime();Calendarepoch1970
*=Calendar.getInstance(gmt);epoch1970.set(1970,01,01,00,00,00);
*longepoch1970ms=epoch1970.getTime().getTime();
*
*longdifferenceInMS=epoch1970ms-epoch1900ms;long
*differenceBetweenEpochs=differenceInMS/1000;
*/

InputStreamraw=null;
try{
SockettheSocket=newSocket(DEFAULT_HOST,DEFAULT_PORT);
raw=theSocket.getInputStream();

longsecondsSince1900=0;
for(inti=0;i<4;i++){
secondsSince1900=(secondsSince1900<<8)|raw.read();
}
if(raw!=null)
raw.close();
longsecondsSince1970=secondsSince1900-differenceBetweenEpochs;
longmsSince1970=secondsSince1970*1000;
returnmsSince1970;
}catch(Exceptione){
thrownewException(e);
}
}
}


中国大概能用的NTP时间服务器
server 133.100.11.8 prefer
server 210.72.145.44
server 203.117.180.36 //程序中所用的
server 131.107.1.10
server time.asia.apple.com
server 64.236.96.53
server 130.149.17.21
server 66.92.68.246
server www.freebsd.org
server 18.145.0.30
server clock.via.net
server 137.92.140.80
server 133.100.9.2
server 128.118.46.3
server ntp.nasa.gov
server 129.7.1.66
server ntp-sop.inria.frserver 210.72.145.44(国家授时中心服务器IP地址)
ntpdate 131.107.1.10
ntpdate -s time.asia.apple.com

⑷ 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格式

其实不管建不建议,能用就行,不非得用推荐的。

String toGMT(Date date) {
try {
SimpleDateFormat format = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "GMT"));
format.setCalendar(cal);
return format.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
}

⑺ java代码怎样获取internet标准时间

获取internet标准时间,参考以下代码:

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));//时区设置
URLurl=newURL("
);//取得资源对象
URLConnectionuc=url.openConnection();//生成连接对象
uc.connect();//发出连接
longld=uc.getDate();//取得网站日期时间(时间戳)
Datedate=newDate(ld);//转换为标准时间对象
//分别取得时间中的小时,分钟和秒,并输出
System.out.print(date.getHours()+"时"+date.getMinutes()+"分"+date.getSeconds()+"秒");

⑻ linux系统下java程序获取的时间与系统时间不一致

造成这种问题的原因是:你的操作系统时区跟你JVM的时区不一致。

你的操作系统应该是中国的时区,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.encoding=UTF8 -Duser.timezone=GMT+08

在一个精简的Linux安装上jre,所有的java程序获取的时间都不是系统时间。java程序获取的时间都是GMT时间,而系统是北京时间,是GMT+8,刚好相差8小时。只有两种方法可以解决 :
1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8

jre是从/etc/sysconfig/clock这个文件中 获取时区信息的。
附clock文件内容:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
ZONE -- 时区
UTC -- 表明时钟设置为UTC。
ARC -- 仅用于alpha表明使用ARC。

⑼ 如何用java程序获取取internet标准时间

获取internet标准时间,参考以下代码:

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); // 时区设置
URL url=new URL("
);//取得资源对象
URLConnection uc=url.openConnection();//生成连接对象
uc.connect(); //发出连接
long ld=uc.getDate(); //取得网站日期时间(时间戳)
Date date=new Date(ld); //转换为标准时间对象
//分别取得时间中的小时,分钟和秒,并输出
System.out.print(date.getHours()+"时"+date.getMinutes()+"分"+date.getSeconds()+"秒");

⑽ 编写一个java程序,读取系统时间,然后将时间用中文输出

java程序读取系统时间,可以使用Date时间类,使用格式化类simpleDateFormat类,实例如下:

packagecom.qiu.lin.he;

importjava.text.SimpleDateFormat;
importjava.util.Date;

publicclassCeShi{

publicstaticvoidmain(String[]args){

Datedate=newDate();//获取此时的系统时间
SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒");
System.out.println("中文现实的时间是"+sdf.format(date));
}
}

运行结果如下:

阅读全文

与java获取时间gmt相关的资料

热点内容
手机号码如何加密 浏览:424
沈阳程序员培训学校 浏览:538
一般服务器如何配置 浏览:895
图片怎样加密发邮件 浏览:619
万虹电脑文件夹密码忘记了怎么办 浏览:631
rc108单片机 浏览:867
战雷如何改变服务器 浏览:674
mactelnet命令 浏览:51
压缩袋压缩了拿出来 浏览:401
安卓手机相机怎么设置权限 浏览:121
美女程序员转行做主播 浏览:671
办理解压房产 浏览:575
道路工程概论pdf 浏览:388
超棒数学速算法大全 浏览:937
小米易语言登录源码 浏览:31
砖墙内加密钢筋 浏览:992
乡关何处pdf 浏览:84
小猪领赞小程序源码 浏览:336
python曲线如何原路返回 浏览:431
pdf快速看图破解版 浏览:295