您的位置:首页 > 运维架构 > Linux

linux java/jsp 获取系统当前时间问题

2009-09-25 17:11 821 查看
JSP源代码

<%
//获取系统时间
//String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
java.util.Date date = new java.util.Date();//获得系统时间.
String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
//Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换

%>

在windows下运行可以

但网页传到linux:CentOS5.3下出问题

差八小时,后来查资料,

改用以下代码:

<%
//获取系统时间
//String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
//TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");

TimeZone.setDefault(tz);
java.util.Date date = new java.util.Date();//获得系统时间.
String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
//Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换

%>

就正常了。

根据资料,查看

/usr/share/zoneinfo

发现,不是ETC而是Etc,故修正代码:

<%
//获取系统时间
//String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
TimeZone tz = TimeZone.getTimeZone("Etc/GMT-8");
// TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");

TimeZone.setDefault(tz);
java.util.Date date = new java.util.Date();//获得系统时间.
String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
//Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换

%>

这样又是可以的。

有感而发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: