2014-09-06 96 views
0
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Locale; 

public class HelloWorld{ 

public static void main(String []args){ 
    String s = "Sep 01, 2014 6:30 pm"; 
    SimpleDateFormat timeFormat = new SimpleDateFormat("MMM dd, YYYY hh:mm a", Locale.US); 
    try{ 
    Date startTime = timeFormat.parse(s); 
    System.out.println(startTime); 
    }catch(Exception e){} 
} 
} 

結果給出的是Sun 12月29日18:30:00 CST 2013,這是完全錯誤的奇怪的JAVA日期格式給出錯誤的結果

請幫助!

+0

的可能重複[SimpleDateFormat的生產日期是錯誤的時間在解析時「YYYY -MM-dd HH:mm「](http://stackoverflow.com/questions/15916958/simpledateformat-producing-wrong-date-time-when-parsing-yyyy-mm-dd-hhmm) – SparkOn 2014-09-06 14:08:44

回答

4

變化

SimpleDateFormat timeFormat = new SimpleDateFormat("MMM dd, YYYY hh:mm a", Locale.US);

SimpleDateFormat timeFormat = new SimpleDateFormat("MMM dd, yyyy hh:mm a", Locale.US); 

至於Y代表週一年refer

一週年是一個週期WEEK_OF_YEAR同步。第一週和最後一週(含)之間的所有星期具有相同的週年價值。因此,一週的第一天和最後一天可能會有不同的日曆年度值。

更多的解釋上一週一年,你可以找到here

2

與小y的一年,而不是大的Y.

嘗試見link