日期:2014-05-20  浏览次数:20816 次

日期问题,来救救火啊
我通过以下方法得到系统时间,

String   dirdate=Common.timer().substring(0,10);
public   static   String   timer()   {
String   datestr   =   " ";
try   {
java.text.DateFormat   df   =   new   java.text.SimpleDateFormat( "yyyy-MM-dd-HH-mm-ss ");
datestr   =   df.format(new   java.util.Date());
}   catch   (Exception   ex)   {
ex.printStackTrace();
}
return   datestr;
}


正常的格式是:2004-1-22-8-38-6
不正常的格式是:107-1-30-16-49-1
现在数据库中有正常和不正常的,偶一个人很迷茫,帮帮忙,哪里出了问题,好给老板交差


------解决方案--------------------
我的获取时间日期是这么写的参考一下
public static String GetCurrentFormattedTime() throws ParseException {
Calendar cal = new GregorianCalendar();
DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss ");
return formatter.format(cal.getTime());

}
------解决方案--------------------
http://www.java99.com/?m=Search&q=%C8%D5%C6%DA
------解决方案--------------------

java.util.GregorianCalendar date=new java.util.GregorianCalendar();
String year=String.valueOf(date.get(date.YEAR));
String month=String.valueOf(date.get(date.MONTH)+1);
String day=String.valueOf(date.get(date.DAY_OF_MONTH));
String Hour=String.valueOf(date.get(date.HOUR_OF_DAY));
String Minute=String.valueOf(date.get(date.MINUTE));
String Second=String.valueOf(date.get(date.SECOND));

String NowTime=year+ "- "+month+ "- "+day+ "- "+Hour+ "- "+Minute+ "- "+Second;
------解决方案--------------------
我不认为 SimpleDateFormat 会出什么问题。我一直用的它。楼主最好在写入数据库之前判断一下时间,如果出现三位年分的,马上记录 stacktrace,以方便检查。

所谓 107 年,怀疑楼主的年份是从网页上提交过来的。楼主应该检查一下。
------解决方案--------------------
datestr = df.format(new java.util.Date());
把上面的new java.util.Date() 改为new Timestamp(System.currentTimeMillis())
就OK了