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()); ---------------------------------------------------------------------------------------------
问题小结(18)-UTC时间及时区获取

UTC时间:世界统一时间,世界标准时间又称格林尼治平时或格林尼治时间。


可以采用多种方法获取,这里只简单介绍两种:直接获取零时区时间、根据本地时间计算得出。


方法一、直接获取零时区时间:


[java] 
DateFormat dateFormatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
TimeZone pst = TimeZone.getTimeZone("Etc/GMT+0");   
 
Date curDate = new Date();   
dateFormatter.setTimeZone(pst);   
String str=dateFormatter.format(curDate);//这就是我们想要获取的值


DateFormat dateFormatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        TimeZone pst = TimeZone.getTimeZone("Etc/GMT+0"); 
 
        Date curDate = new Date(); 
        dateFormatter.setTimeZone(pst); 
        String str=dateFormatter.format(curDate);//这就是我们想要获取的值方法二、根据本地时间计算得出:


[java] 
   Calendar cal = Calendar.getInstance(Locale.getDefault()); 
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET); 
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET); 
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset)); 
String str=DateFormat.format("yyyy'-'MM'-'dd' 'kk':'mm':'ss' '", cal);//这就是我们想要获取的值


Calendar cal = Calendar.getInstance(Locale.getDefault());
        int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
        int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
        cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
        String str=DateFormat.format("yyyy'-'MM'-'dd' 'kk':'mm':'ss' '", cal);//这就是我们想要获取的值时区获取:


String Zone=TimeZone.getDefault().toString();//这种方法获取的并不能得到我们想要的东西
        TimeZone.getDefault().getID()//获取的仅仅是个时区里的城市名


我们想得到能够直接标识东八区(+8)或者西七区(-7)之类的东西,这只能是我们通过时间的便宜量来计算获得,方法如下:


[java]
Calendar cal = Calendar.getInstance(Locale.getDefault()); 
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET); 
int zone=zoneOffset/60/60/1000;//时区,东时区数字为正,西时区为负


Calendar cal = Calendar.getInstance(Locale.getDefault());
    int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
    int zone=zoneOffset/60/60/1000;//时区,东时区数字为正,西时区为负
PS:UTC时间+时区差=本地时间


最新文章

  1. document.documentElement.clientHeight 与 document.body.clientHeight(杜绝千篇一律的抄袭!!)
  2. 引用iScroll.js实现上拉和下拖刷新
  3. Facebook的Hack语言三大看点
  4. B树和B+树
  5. 实用的Bootstrap的扩展和插件集合
  6. Leetcode 292 Nim Game 博弈论
  7. 如何下载Hibernate
  8. 【转】 JAR、WAR、EAR的使用和区别
  9. 找出图像I的代数中心
  10. Eclipse插件卸载
  11. socket本地模拟TCP 服务器+客户端(二)
  12. 盒子取球C语言 蓝桥杯
  13. 微信中H5网页如何唤醒打开外部浏览器打开指定链接
  14. Codeforces Round #485 (Div. 2) E. Petr and Permutations
  15. 7.mongo python 库 pymongo的安装
  16. Spring Security使用报错 No bean named 'springSecurityFilterChain' is defined
  17. 如何调试Javascript代码以及网页代码
  18. 偷懒啦!button多了,这样写既简洁又高效
  19. centos7安装Jenkins及其卸载
  20. centos7下mysql5.6的主从复制

热门文章

  1. mac mysql connection
  2. JavaScript 语言基础知识点总结(思维导图)
  3. POJ 1548 Robots (Dilworth)
  4. HDU 1828 / POJ 1177 Picture (线段树扫描线,求矩阵并的周长,经典题)
  5. 【linux】文字提取
  6. php怎么获取checkbox复选框的内容?
  7. hdu 4068 SanguoSHA
  8. [转载] select, poll和epoll的区别
  9. Java7编程 高级进阶学习笔记--嵌套类
  10. JavaWeb项目开发案例精粹-第6章报价管理系统-07View层