读书人

java 系统时间 异常

发布时间: 2012-02-28 13:06:34 作者: rapoo

java 系统时间 错误
代码如下:

Java code
import java.text.SimpleDateFormat;import java.util.Date;public class TestDate {    public static void main(String[] args) {          Date now=new Date();          SimpleDateFormat f=new SimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");          System.out.println(f.format(now));    }}

运行结果:
今天是2008年11月26日 星期三 02点35分
我装的XP,右下角的时间是对的。IDE是Lomboz Eclipse,总是差8个小时。
假如用Timezone的话,这个时间就是对的。
这是什么原因呢?

[解决办法]
SimpleDateFormat里面要有一个重要的参数的,好像是Symbol吧,这个对象和一个TImeZone是关联的。
你取得的时间是 0时区的时间。
[解决办法]
我在eclipse下是显示的正常时间,可能和ide有关系吧。
SimpleDateFormat 有方法可以设置。
f.setTimeZone(TimeZone.)
[解决办法]
这个确实跟 TImeZone 有关系

Java code
public static void method1(){        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");           //sdf.setTimeZone(TimeZone.getTimeZone("GMT-8"));//加这句的话时间-16个小时           String s = sdf.format(new Date());           System.out.println(s);           //美国时间是我电脑上的时间,打印出来的是 东八区的时间         //打印出来的东西, 跟我电脑上的时间不对, 慢16个小时,难道默认的不是东8区的? 是 cst的    }
[解决办法]
我设置的是中国大陆的。

你这么设的是中国大陆的?? 我的是 美国的
[解决办法]
设时区就OK
[解决办法]
Java code
import java.text.SimpleDateFormat;import java.util.Date;public class TestDate {    public static void main(String[] args) {          Date now=new Date();          SimpleDateFormat f=new SimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");          System.out.println(f.format(now));    }}结果:今天是2008年11月26日 星期三 13点00分结果正确.楼主用什么ide啊?eclipse应该就会了吧
[解决办法]
我的结果也真确哇。。。。。。。。。。。。。
[解决办法]
我的也没有问题。
[解决办法]
时区是美国
[解决办法]
我这也没问题,奇怪了
[解决办法]
我的也没有问题啊
今天是2008年11月26日 星期三 15点03分

读书人网 >J2SE开发

热点推荐