java 与JSP

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:58:27
写一个个java 文件与JSP文件,得到结果不一样,这是为什么?
java 文件为:
import java.util.*;
public class Test {
public static void main(String[] args) {
Date dt=new Date();
System.out.println(dt);
System.out.println(dt.getHours());
Calendar ca=Calendar.getInstance();
System.out.println(ca.HOUR_OF_DAY);
}
}
得到的结果为:
Sat Feb 23 23:11:43 CST 2008
23
11

JSP文件为:

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" import="java.util.*" %>
<html>
<body>
<%
Date dt=new Date();
out.println(dt);
out.println("<br>");
int hour=dt.getHours();
out.println(hour);
out.println("<br>");
%>
</body>
</html>

得到的结果是:
Sat Feb 23 15:13:45 GMT 2008
15

得到的小时数值不一致,这是为什么?JDK用的都是JDK1.5版本,JSP容器用TOMCAT 5.0。这是为什么呢,高手解答下。<

我后面又试了下,JAVA 中的程序如下
Date dt=new Date();
System.out.println(dt);
System.out.println(dt.getHours());
Calendar ca=Calendar.getInstance();
System.out.println(ca.HOUR_OF_DAY);

结果为:
Wed Feb 27 09:00:32 CST 2008
9
11

JSP中程序如下:
<%
Date date=new Date();
out.println(date);
out.println("<br>");
int hour=0;
hour=date.getHours();
out.println("<br>");
out.println(hour);

%>

结果如下:
Wed Feb 27 09:03:53 CST 2008

9

//
System.out.println(ca.HOUR_OF_DAY);这句的输出是有点怪,说是如果是10:00PM的话,他会换算成22点.但是我是早上8点的时候,它输出是11,不知道为什么,你不如用getHours()等函数还是显示都正确的,谢谢

这个是时区设置的问题;
.java文件中默认是调用本地时间;
.jsp文件中则是Web容器(你用的是tomcat)的时间;