java获取当前时区的时间

刚接触java,好多不懂的东西,今天终于获取了当前时区的时间
之前用过的一个获取时间的方法是
import java.util.Date;

public class GetTime 
{
public static void main(String[] args) 
{
Date d = new Date();
System.out.println(d);
}

}

打印出来的结果是
Wed Aug 03 15:13:28 CST 2011
一看,这个时间是对的话,也就没有管这个问题,后来再做格式化的时候,发现总是差10个小时,查看日志文件,打印时间是 Wed Aug 03 15:13:28 CST 2011,所以以为是数据库存储数据出了问题,跟踪程序之后,发现不是这个原因。原来 CST美国中部标准时间



改过之后的就可以了。
下面是正确的程序

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class DBOP 
{
public static void main(String [] arg)
{
TimeZone time = TimeZone.getTimeZone("GMT+8"); //设置为东八区
time = TimeZone.getDefault();// 这个是国际化所用的
System.out.println(time);
TimeZone.setDefault(time);// 设置时区
Calendar calendar = Calendar.getInstance();// 获取实例
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//构造格式化模板
Date date = calendar.getTime(); //获取Date对象
String str = new String();
str = format1.format(date);//对象进行格式化,获取字符串格式的输出
System.out.println(str);
}
}

输出结果为
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2011-08-03 03:17:47
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值