我通过以下方法得到系统时间,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
现在数据库中有正常和不正常的,偶一个人很迷茫,帮帮忙,哪里出了问题,好给老板交差

解决方案 »

  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()); }
      

  2.   

    http://www.java99.com/?m=Search&q=%C8%D5%C6%DA
      

  3.   


           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;
      

  4.   

    我不认为 SimpleDateFormat 会出什么问题。我一直用的它。楼主最好在写入数据库之前判断一下时间,如果出现三位年分的,马上记录 stacktrace,以方便检查。所谓 107 年,怀疑楼主的年份是从网页上提交过来的。楼主应该检查一下。
      

  5.   

    datestr = df.format(new java.util.Date());
    把上面的new java.util.Date() 改为new Timestamp(System.currentTimeMillis())
    就OK了
      

  6.   

    最好不要用Date类,用Calendar类比较好