可以说是英国标准时间。
中国是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类,会自动调整时区。不需要再手动算。按以上加法会画蛇添足。
else{UTC=BJT}改成else{UTC=BJT}elseif(800<BJT<2359)改成elseif(800<BJT&&BJT<2359)if(0<BJT<800)改成if(0<BJT&&BJT<800)c语言中没有a<x<b这样的形式。要用&&或者||来进行连接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 符合你的要求
只是以毫秒来算的