我的代码是:
<% 
java.SimpleDateFormat formatter = new java.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date();//得到当前系统时间 String str_date1 = formatter.format(currentTime); //将日期时间格式化 
String str_date2 = currentTime.toString(); //将Date型日期时间转换成字符串形式 out.println(currentTime);
%>
但是输出的是比我本机时间提前8小时啊,如何能改成本机时间呢??我查看了本机的时区设置的也是对的啊~~

解决方案 »

  1.   

    String str_date1 = formatter.format(currentTime); //将日期时间格式化 
                                   = currentTimes.format(formatter);
      

  2.   

    楼主 你的程序不报错了么?  我刚才调试了一下:java.SimpleDateFormat formatter = new java.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 应该改为:java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 结果是正确的,请看:http://www.javawind.net/test.jspThu Jun 12 17:21:55 CST 2008 
      

  3.   

    这肯定是你们电脑的问题点开系统时间
    把时区设置成北京8点
    在Internet时间,勾上“自动与Internet时间服务器同步”,下拉列表选择“time.windows.com”试试
    再不行,换个TOMCAT
      

  4.   


    <%@ page language="java" contentType="text/html; charset=gb2312"
        pageEncoding="gb2312"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <title>JavaWind Loading...</title>
    </head>
    <body>
    <% 
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date();//得到当前系统时间 String str_date1 = formatter.format(currentTime); //将日期时间格式化 
    String str_date2 = currentTime.toString(); //将Date型日期时间转换成字符串形式 out.println("currentTime = "+currentTime + "<br/>"); 
    out.println("str_date1   = "+str_date1+ "<br/>"); 
    out.println("str_date2   = "+str_date2+ "<br/>"); 
    %>
    </body>
    </html>
    http://www.javawind.net/test.jsp
      

  5.   

    楼主,你这样搞一下试试。
      DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
      TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区 这句加上,很关键。
      dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
      Date curDate = new Date();//获取系统时间
      

  6.   

    我晕,说调时区的.....这个类SimpleDateFormat在哪个包下面?这段能编译过吗?我记得是java.text.SimpleDateFormat吧
      

  7.   

    tomcat启动脚本中配置jvm参数 -Duser.timezone=GMT+08
      

  8.   


    Date curDate = new Date();  //这里获得还是当前时间,和本机系统系统还是差8个小时。
    this.setDate(dateFormatterChina);   //这样也有错误,如果setDate()的类型就不通过了。因为dateFormatterChina 是字符串。
      

  9.   

    Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
    Date date = calendar.getTime();
      

  10.   

    8楼的方法不可以呀
    DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
    TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区 这句加上,很关键。
    dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
    Date curDate = new Date();//获取系统时间
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String Dt_Time = sdf.format(curDate);
     System.out.println(Dt_Time);现在时间是:2010-11-23 15:52:50
    打印时间是:2010-11-23 07:52:50
      

  11.   

    修改jdk和jre时区吧。吧GMT-8名字改为GMT