2016-04-25 232 views
0
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 


public class Test { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); 
     String dateInString = "2016-04-23"; 

     try { 

      Date date = formatter.parse(dateInString); 
      java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 
      System.out.println("Date: -- "+date); 
      System.out.println("FormatterDate : -- "+formatter.format(date)); 
      System.out.println("SQLDATE : -- "+sqlDate); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 

    } 

} 

输出:不正确的输出

Date: -- Sat Jan 23 00:04:00 CST 2016 
FormatterDate : -- 2016-04-23 
SQLDATE : -- 2016-01-23 

我放出来应该是2016年4月23日不是2016年1月23日

+0

从[JavaDoc中]的javadoc(http://docs.oracle.com/javase/8/docs/api/java/text /SimpleDateFormat.html)*“m |小时分|数| 30”* – MadProgrammer

回答

1

m Minute in hour 

你想

M Month in year 
1

请注意,mm表示分而不是月。对于一个月,您必须改用MM