TL;博士
LocalDate.parse( // Parse the input string by specified formatting pattern to get a date-only `LocalDate` object.
"01-08-2013" ,
DateTimeFormatter.ofPattern("dd-MM-uuuu")
)
.getDayOfWeek() // Get a `DayOfWeek` enum object. This is *not* a mere String.
.getValue() // Ask the `DayOfWeek` object for its number, 1-7 for Monday-Sunday per ISO 8601 standard.
java.time
現代的方法使用java.time類,取代了麻煩的舊的遺留日期時間類如SimpleDateFormat
和Date
和Calendar
。
LocalDate
類代表沒有時間和沒有時區的僅有日期的值。
定義要匹配的格式模式。
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd-MM-uuuu") ;
解析輸入字符串。
LocalDate ld = LocalDate.parse("01-08-2013" , f) ;
ld.toString():2013年8月1日
詢問的星期幾,。獲取一個DayOfWeek
枚舉對象,這是七個預定義對象之一,用於週一至週日。
DayOfWeek dow = ld.getDayOfWeek() ;
dow.toString():星期四
你可以問DayOfWeek
對象的本地化名稱,併爲多家1-7週一至週日每ISO 8601標準。
int dowNumber = dow.getValue() ;
String output = dow.getDisplayName(TextStyle.FULL , Locale.CANADA_FRENCH) ; // Or Locale.US, Locale.ITALY, etc.
jeudi
關於java.time
java.time框架內置於Java 8及更高版本。這些類代替了日期時間類legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time項目,現在在maintenance mode,建議遷移到java.time類。請參閱Oracle Tutorial。並搜索堆棧溢出了很多例子和解釋。規格是JSR 310。
您可以直接使用數據庫交換java.time對象。使用符合JDBC 4.2或更高版本的JDBC driver。無需字符串,不需要java.sql.*
類。
從何處獲取java.time類?
的ThreeTen-Extra項目與其他類擴展java.time。這個項目是未來可能增加java.time的一個試驗場。您可以在這裏找到一些有用的類,如Interval
,YearWeek
,YearQuarter
和more。
感謝兄弟。我知道了。 –