❶ java 中Calendar.getInstance() 实现的是什么
java中calendar.getinstance()和new
date()的差别如下:
calendar.getinstance()是获取一个calendar对象并可以进行时间的计算,时区的指定
new
date()是创建了回一个date对象,默认答是utc格式的。
二者可以相互转化:
calendar
calendar
=
calendar.getinstance();
//
从一个
calendar
对象中获取
date
对象
date
date
=
calendar.gettime();
//
将
date
对象反应到一个
calendar
对象中,
//
calendar/gregoriancalendar
没有构造函数可以接受
date
对象
//
所以我们必需先获得一个实例,然后设置
date
对象
calendar.settime(date);
❷ 如何使用java将GMT转换为UTC格式
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();
}
}
❸ 2003-07-16T01:24:32Z这是什么时间格式,用java怎样获取这样的时间r
这是标准的XML Schema的"日期型数据格式”
T是代表后面跟着“时间”。Z代表0时区,或者叫版UTC统一时间。
国内常见于权MS Office Excel电子表格XML中的时间格式。
Java用SimpleTimeFormat可以随意处理这样的时间文本
❹ Java 获取当前UTC时间+10秒并转换格式,求大神
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassDateDemo{
publicstaticvoidmain(String[]args){
System.out.println(getDateString());
}
(){
Calendarcalendar=Calendar.getInstance();
calendar.add(Calendar.SECOND,10);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
returnsdf.format(calendar.getTime());
}
}
中间是个T吗,其实我觉得空格会更好内看。容
❺ java中utc时间怎么转换为本地时间
计算机用的是unix纪元,1970年1月1日 0时0分 UTC(协调世界时 即升级版的格林威治时间)
可以说是回英国标准答时间。
中国是UTC+8 八区,中国本地时间要在以上标准时间上面加8小时。
反映在java的timemilli毫秒时是,
long china_ts=System.currentTimeMillier()+1000*60*60*8;
但只在不支持Java SE时区的早期版本(比如Java Card,Java ME/MIDP1.0)才需要自己手工加。
现在的java系统本身有时区库,用Calendar/Date类,会自动调整时区。不需要再手动算。按以上加法会画蛇添足。
❻ JAVA UTC时间的基准点问题
计算机用的是unix纪元,1970年1月1日 0时0分 UTC(协调世界时 即升级版的格林威治时间)
可以说是英国标准时间。
中国是UTC+8 八区,中国本地时间要在以上标准时间上面加8小时。
反映在java的timemilli毫秒时是,
long china_ts=System.currentTimeMillier()+1000*60*60*8;
但只在不支持Java SE时区的早期版本(比如Java Card,Java ME/MIDP1.0)才需要自己手工加。
现在的java系统本身有时区库,用Calendar/Date类,会自动调整时区。不需要再手动算。按以上加法会画蛇添足。
❼ 在java里面,如何得到UTC时间, 时间格式为:Tue Oct 12 00:00:00 UTC 0800 2010
Calendar gc = GregorianCalendar.getInstance();
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之后调用cal.get(int x)或cal.getTimeInMillis()方法所取得的时间即是UTC标准时间。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
赠送其它时间方法,总有一款适合您
public static void main(String[] args) {
SimpleDateFormat foo = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("foo:"+foo.format(new Date()));
Calendar gc = GregorianCalendar.getInstance();
System.out.println("gc.getTime():"+gc.getTime());
System.out.println("gc.getTimeInMillis():"+new Date(gc.getTimeInMillis()));
//当前系统默认时区的时间:
Calendar calendar=new GregorianCalendar();
System.out.print("时区:"+calendar.getTimeZone().getID()+" ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美国洛杉矶时区
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//时区转换
calendar.setTimeZone(tz);
System.out.print("时区:"+calendar.getTimeZone().getID()+" ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
Date time=new Date();
//1、取得本地时间:
java.util.Calendar cal = java.util.Calendar.getInstance();
//2、取得时间偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
//3、取得夏令时差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
//4、从本地时间里扣除这些差量,即可以取得UTC时间:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之后调用cal.get(int x)或cal.getTimeInMillis()方法所取得的时间即是UTC标准时间。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
Calendar calendar1 = Calendar.getInstance();
TimeZone tztz = TimeZone.getTimeZone("GMT");
calendar1.setTimeZone(tztz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());
}
运算结果是Tue Oct 19 16:54:57 CST 2010 符合你的要求
只是以毫秒来算的
❽ java中utc时间怎么转换为本地时间
utc毫秒值是个绝对值,和时区无关。如果需要转换为对应时区的时间表示,可以使用java.text.DateFormat的setTimeZone(timeZone)之后,进行format