String dateFormat = "yyyy-MM-dd HH:mm:ss"; java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(dateFormat);String date = sdf.format(new java.util.Date());System.out.println("Current Date & Time is :" + date);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(dateFormat, Locale.US);It can run, you must define the Locale, or it will throw Exception.And I read the JDK source code, just find that SimpleDateFormat isLocale sensitive. So it seems if I use default Locale, I can't parse the date string from US.Maybe I have to write a SimpleDateFormat to extends DateForamt.
// yaray(雅睿,生活在别处) You code can run on English Locale, can't run Chinese Locale.
java.util.Date theDate=new java.util.Date(dateStr);
java.util.Calendar theCa=java.util.Calendar.getInstance();
theCa.setTime(theDate); dateStr=String.valueOf(theCa.get(theCa.YEAR)) + "-" ;
String tmpStr=String.valueOf(theCa.get(theCa.MONTH));
if(tmpStr.length()<2)
tmpStr="0"+tmpStr;
dateStr=dateStr+tmpStr + "-"; tmpStr=String.valueOf(theCa.get(theCa.DAY_OF_MONTH));
if(tmpStr.length()<2)
tmpStr="0"+tmpStr;
dateStr=dateStr+tmpStr + " "; tmpStr=String.valueOf(theCa.get(theCa.HOUR));
if(tmpStr.length()<2)
tmpStr="0"+tmpStr;
dateStr=dateStr+tmpStr + ":"; tmpStr=String.valueOf(theCa.get(theCa.MINUTE));
if(tmpStr.length()<2)
tmpStr="0"+tmpStr;
dateStr=dateStr+tmpStr + ":"; tmpStr=String.valueOf(theCa.get(theCa.SECOND));
if(tmpStr.length()<2)
tmpStr="0"+tmpStr;
dateStr=dateStr+tmpStr + "."; tmpStr=String.valueOf(theCa.get(theCa.MILLISECOND));
dateStr=dateStr+tmpStr; System.out.println(dateStr);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(dateFormat);String date = sdf.format(new java.util.Date());System.out.println("Current Date & Time is :" + date);
You code can run on English Locale, can't run Chinese Locale.