问题描述
代码是这样的SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Dateorderdate=newDate();orderdate=sdf.parse("2014-09-2413:41:02");System.out.println(username+""+orderdate);
输出的时间就成了WedSep2413:41:02CST2014不是应该输出跟2014-09-2413:41:02这个是一样的吗?求解决办法。
解决方案
解决方案二:
println(orderdate)其实是println(orderdate.toString())Date的toString实现publicStringtoString(){//"EEEMMMddHH:mm:sszzzyyyy";BaseCalendar.Datedate=normalize();StringBuildersb=newStringBuilder(28);intindex=date.getDayOfWeek();if(index==gcal.SUNDAY){index=8;}convertToAbbr(sb,wtb[index]).append('');//EEEconvertToAbbr(sb,wtb[date.getMonth()-1+2+7]).append('');//MMMCalendarUtils.sprintf0d(sb,date.getDayOfMonth(),2).append('');//ddCalendarUtils.sprintf0d(sb,date.getHours(),2).append(':');//HHCalendarUtils.sprintf0d(sb,date.getMinutes(),2).append(':');//mmCalendarUtils.sprintf0d(sb,date.getSeconds(),2).append('');//ssTimeZonezi=date.getZone();if(zi!=null){sb.append(zi.getDisplayName(date.isDaylightTime(),zi.SHORT,Locale.US));//zzz}else{sb.append("GMT");}sb.append('').append(date.getYear());//yyyyreturnsb.toString();}
楼主想输出2014-09-2413:41:02这个样子,直接将拿到的orderdate=sdf.parse("2014-09-2413:41:02");输出就可以了,无需再转为date型了
解决方案三:
SimpleDateFormat主要是控制输出格式的,lz用的方法已经转成了Date的类型SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Dateorderdate=newDate(2014,9,24,13,41,02);System.out.println(sdf.format(orderdate));