为什么JSP取得的系统时间不对?日期对,时间不对。
下面是我在网上找的四种不同的方式,全部结果都一样,tomcat就在我本机,本机时间是:19:27,
而它们出来的是:11:25
请问是怎么回事?
================================================
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
userLastTime=sdf.format(new java.util.Date());
================================================
java.util.Date ymd=new java.util.Date();
userLastTime=ymd.toLocaleString();
================================================
//用这个方法,要import java.text.SimpleDateFormat
java.util.Date d=new java.util.Date();
java.util.GregorianCalendar calendar=new java.util.GregorianCalendar();
calendar.setTime(d);
int iYear=calendar.get(calendar.YEAR);
int iMonth=calendar.get(calendar.MONTH)+1;
int iDay=calendar.get(calendar.DAY_OF_MONTH);
int iHour=calendar.get(calendar.HOUR);
int iMinute=calendar.get(calendar.MINUTE);
int iSecond=calendar.get(calendar.SECOND);
userLastTime=iYear +"-"+ iMonth +"-"+ iDay +" "+ iHour +":"+ iMinute +":"+ iSecond;
================================================
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
java.util.Date currentTime = new java.util.Date();//得到当前系统时间
userLastTime=formatter.format(currentTime); //将日期时间格式化
================================================
下面是我在网上找的四种不同的方式,全部结果都一样,tomcat就在我本机,本机时间是:19:27,
而它们出来的是:11:25
请问是怎么回事?
================================================
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
userLastTime=sdf.format(new java.util.Date());
================================================
java.util.Date ymd=new java.util.Date();
userLastTime=ymd.toLocaleString();
================================================
//用这个方法,要import java.text.SimpleDateFormat
java.util.Date d=new java.util.Date();
java.util.GregorianCalendar calendar=new java.util.GregorianCalendar();
calendar.setTime(d);
int iYear=calendar.get(calendar.YEAR);
int iMonth=calendar.get(calendar.MONTH)+1;
int iDay=calendar.get(calendar.DAY_OF_MONTH);
int iHour=calendar.get(calendar.HOUR);
int iMinute=calendar.get(calendar.MINUTE);
int iSecond=calendar.get(calendar.SECOND);
userLastTime=iYear +"-"+ iMonth +"-"+ iDay +" "+ iHour +":"+ iMinute +":"+ iSecond;
================================================
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
java.util.Date currentTime = new java.util.Date();//得到当前系统时间
userLastTime=formatter.format(currentTime); //将日期时间格式化
================================================
他这个时间,好象是格林威治时间。在JSP中,怎么进行时间加减?
java.util.GregorianCalendar calendar=new java.util.GregorianCalendar();
calendar.setTime(d);
int iYear =calendar.get(calendar.YEAR);
int iMonth =calendar.get(calendar.MONTH)+1;
int iDay =calendar.get(calendar.DAY_OF_MONTH);
int iHour =calendar.get(calendar.HOUR)+20;
int iMinute =calendar.get(calendar.MINUTE);
int iSecond =calendar.get(calendar.SECOND);
if (iHour>24)
{
iHour=iHour-24;
iDay=iDay+1;
}
if (iDay>30 && (iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11))
{
iDay=iDay-30;
iMonth=iMonth+1;
}
if (iDay>31 && (iMonth==1 || iMonth==3 || iMonth==5 || iMonth==7 || iMonth==8 || iMonth==10 || iMonth==12))
{
iDay=iDay-31;
iMonth=iMonth+1;
}
if (iDay>29 && iMonth==2 && iYear%4==0)
{
iDay=iDay-29;
iMonth=iMonth+1;
}
if (iDay>28 && iMonth==2 && iYear%4>0)
{
iDay=iDay-28;
iMonth=iMonth+1;
}
if (iMonth>12)
{
iMonth=iMonth-12;
iYear=iYear+1;
}userLastTime=iYear +"-"+ (iMonth>9?iMonth:"0"+ iMonth) +"-"+ (iDay>9?iDay:"0"+ iDay) +" "+ (iHour>9?iHour:"0"+ iHour) +":"+ (iMinute>9?iMinute:"0"+ iMinute) +":"+ (iSecond>9?iSecond:"0"+ iSecond) +".0";
在tomcat里不能设置吗?
我注意到 启动tomcat的时候的显示时间就比本机时间小8个小时 应该是能设置的
public String getCurrentDateTime()
{
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = simpledateformat.format(new Date());
return s;
}
加上红色的这部分 以后就不会再出现这样的问题了 呵呵 我也是刚搞定的 楼主不够意思 解决了问题 也不说说解决办法 嘿嘿