我的代码是:
<%
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小时啊,如何能改成本机时间呢??我查看了本机的时区设置的也是对的啊~~
<%
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小时啊,如何能改成本机时间呢??我查看了本机的时区设置的也是对的啊~~
= currentTimes.format(formatter);
把时区设置成北京8点
在Internet时间,勾上“自动与Internet时间服务器同步”,下拉列表选择“time.windows.com”试试
再不行,换个TOMCAT
<%@ 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
DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区 这句加上,很关键。
dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
Date curDate = new Date();//获取系统时间
Date curDate = new Date(); //这里获得还是当前时间,和本机系统系统还是差8个小时。
this.setDate(dateFormatterChina); //这样也有错误,如果setDate()的类型就不通过了。因为dateFormatterChina 是字符串。
Date date = calendar.getTime();
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