创星网络[分享知识 传递快乐]

标题: linux java/jsp 获取系统当前时间问题 [打印本页]

作者: luinstein    时间: 2012-12-13 19:53
标题: linux java/jsp 获取系统当前时间问题
JSP源代码
  1. <%
  2.    //获取系统时间
  3.    //String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
  4.    TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
  5.     TimeZone.setDefault(tz);
  6.     java.util.Date date = new java.util.Date();//获得系统时间.
  7.           String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
  8.           //Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换
  9.    %>
复制代码
在windows下运行可以

但网页传到linux:CentOS5.3下出问题
差八小时,后来查资料,
改用以下代码:
  1. <%
  2.    //获取系统时间
  3.    //String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
  4.    //TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
  5.    TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
  6.     TimeZone.setDefault(tz);
  7.     java.util.Date date = new java.util.Date();//获得系统时间.
  8.           String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
  9.           //Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换
  10.    %>
复制代码
就正常了。
根据资料,查看
/usr/share/zoneinfo
发现,不是ETC而是Etc,故修正代码:
  1. <%
  2.    //获取系统时间
  3.    //String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
  4.    TimeZone tz = TimeZone.getTimeZone("Etc/GMT-8");
  5. //  TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
  6.     TimeZone.setDefault(tz);
  7.     java.util.Date date = new java.util.Date();//获得系统时间.
  8.           String nowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);//将时间格式转换成符合Timestamp要求的格式.
  9.           //Timestamp goodsC_date = Timestamp.valueOf(nowTime);//把时间转换
  10.    %>
复制代码
这样又是可以的。

有感而发。





欢迎光临 创星网络[分享知识 传递快乐] (http://bbs.cxweb.com.cn/) Powered by Discuz! X3