java 时区问题

问题描述

importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.Locale;importjava.util.TimeZone;publicclassDataTime{publicstaticvoidmain(String[]argv){DatenowDate=newDate();System.out.println("nowDate:"+nowDate);System.out.println("GMT-8:"+Calendar.getInstance(TimeZone.getTimeZone("GMT-8")).getTime());SimpleDateFormatfm=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss",Locale.US);fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));Stringmoditime=fm.format(nowDate);System.out.println("formated:"+moditime);}}

运行结果:nowDate:ThuDec2315:50:06GMT2010GMT-8:ThuDec2315:50:06GMT2010formated:2010-12-2323:50:06控制台下一行显示:<terminated>DataTime(1)[JavaAplication]D:javajavabinjavaw.exe(2010-12-23下午03:50:06)----------------------------------------------------------------------------------------------百思不得其解,为什么我系统的时间是'GMT-8'的2010-12-2323:50:06而java虚拟机的时区是格林尼治标准时间而且这个时间还不能进行时区转化(Calendar.getInstance(TimeZone.getTimeZone("GMT-8")).getTime());)希望有朋友可以帮忙解答下,诚谢!

解决方案

解决方案二:
你用的是jdk1.5吧,用1.6的话,谁的时区也不用改,直接就统一了,都用北京时间东八区。至于为什么那个时区转换的代码不起作用,我也不知道,我在1.6上也不起作用。三个打印结果一样。
解决方案三:
恩jdk6对5做了优化了引用1楼sunleisoft的回复:

你用的是jdk1.5吧,用1.6的话,谁的时区也不用改,直接就统一了,都用北京时间东八区。至于为什么那个时区转换的代码不起作用,我也不知道,我在1.6上也不起作用。三个打印结果一样。

解决方案四:
en..先优化再试着调试一下。

时间: 2024-07-31 05:43:14

java 时区问题的相关文章

关于java时区的问题???????

问题描述 importjava.util.*;importjava.text.*;classA{publicstaticvoidmain(Strings[]){Calendarc=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));System.out.println(c.getTime());}}显示时间总是与实际时间少12小时30分该怎么解决啊!! 解决方案 解决方案二:系统是win2003,右下角的时间是对的解决方案三:用程序取

GMT时区格式日期字符串转换成java.util.Date

Java代码                 //日期输出格式   String targetFormat = "yyyy-MM-dd HH:mm:ss";   //日期原始格式   String origFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSz";   String s = "1988-11-06T12:14:05.671+08:00";   //去掉时区部分的冒号   s = s.replaceAll(&quo

Java中指定时区的3种方法_java

这两天在做与某知名一卡通公司的单点登录集成(我们的产品使用Java编写,对方的程序使用.Net编写)其中有一项参数是时间戳.即当前时间相对于公元1970-1-1 00:00:00的秒数.按照他们给出的文档我完成了Java部分的编写,时间戳部分很简单,一句话: 复制代码 代码如下:     private String createTimestamp() //timestamp     {         return System.currentTimeMillis() / 1000 + "&q

详解Java中的时区类TimeZone的用法_java

一.TimeZone 简介TimeZone 表示时区偏移量,也可以计算夏令时. 在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone:因为不同的时区,时间不同. 下面说说TimeZone对象的 2种常用创建方式.1.获取默认的TimeZone对象使用方法: TimeZone tz = TimeZone.getDefault() 2.使用 getTimeZone(String id) 方法获取TimeZone对象使用方法: // 获取 "GMT+08:00&qu

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

【译】Java 8的新特性—终极版

文/杜琪(简书作者) 原文链接:http://www.jianshu.com/p/5b800057f2d8 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己翻译了一版(写作驱动学习,加深印象),有些地方参考了该同学的. Java 8 前言: Java 8 已经发布很久了,很

转:java.util中的Date类

java.util中的Date类 www.linuxaid.com.cn 01-09-20 23:03 496p 处处--------------------------------------------------------------------------------     在JSP中,我们经常要处理有关日期和时间的信息,这时候你可以使用java.util中的Date类,在编写Java源程序时,情况很明显,你必须通过"import java.util.*"引入java.ut

Java高级日期概念 (献给那些要国际化时间及SQL时间的兄弟)

概念|高级 Java高级日期概念 如果你的Java 程序向处在不同时区或者不同国家的用户显示时间和日期,那么你需要了解Java日期类的一些更加高级的方面 .本文中讨论的类将包含java.text.DateFormat,以及java.util.TimeZone和java.util.Locate.我们还将讨论如何使用一个java.util.Date的子类java.sql.Date来从Oracle数据库里提取和保存Java日期数据.地区的问题在我们国际化我们的日期数据以前,我们需要进一步的学习Loca

一个经典的JAVA APPLET时钟程序(一)

程序   转眼间一年又要过了,自己又老了一岁,郁闷啊.趁着还有几分钟才新年,赶快再发几篇文章,给过去的一年添点东西. 该程序是从网上发现的,是一个简单的时钟显示程序. 代码特色:时钟代码提供了各种接口,可以在HTML文件中设置,变化出多姿多彩的时钟模型,参数说明见代码内info数组 时钟的绘制采用双缓冲图形处理机制,即先在缓冲区内绘制图形,再把图形显示到网页上可以有效的防止闪烁. 另外时钟的不断绘制是通过一个线程不断读取系统时间,如果时间有变化即绘制.采用一个线程绘制,一个线程处理网页比较符合A