我通过以下方法得到系统时间,
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了