2012-02-18 113 views

回答

42

使用java日期格式。

SimpleDateFormat inFormat = new SimpleDateFormat("dd-MM-yyyy"); 
Date date = inFormat.parse(input); 
SimpleDateFormat outFormat = new SimpleDateFormat("EEEE"); 
String goal = outFormat.format(date); 
8

您可以使用日曆

  Calendar calendar = Calendar.getInstance(); 

      calendar.setTime(date_your_want_to_know); 

      String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" } 

      String day = days[calendar.get(Calendar.DAY_OF_WEEK)]; 
+0

這樣你永遠不會看到SUNDAY ... – dit 2016-04-26 13:14:00

+1

String [] days = new String [] {「」,「SUNDAY」,「MONDAY」,「TUESDAY」,「WEDNESDAY」,「THURSDAY」,「FRIDAY」 ,「SATURDAY」} – 2016-05-01 11:32:36

0

首先日期字符串轉換爲使用SimpleDateFormat日期。

然後從該日期開始Calendar實例。

最後,使用get(Calendar.DAY_OF_WEEK)Calendar中檢索星期幾。這會給你一個介於1到7之間的整數,代表一週中的某一天。你可以簡單地將它映射到一個字符串數組來獲得日子。

4

只需使用一個單一的代碼行:

android.text.format.DateFormat.format("EEEE", date); 
+0

這是我認爲最好的方法。這個問題的作者究竟是要求什麼,而且是一條線。 – Forke 2016-11-15 18:10:21

0

在@維韋克的回答在calendar.get(Calendar.DAY_OF_WEEK)添加「-1」,因爲它返回的數字從1到7,但字符串數組索引爲0到6.

calendar.setTime(date_your_want_to_know); 

String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" } 

String day = days[calendar.get(Calendar.DAY_OF_WEEK)-1]; 
0

下面的方法將通過以String格式傳遞日期來返回日期。 如果發生異常,則返回null。

private String getDay(String date_in_string_format){   
     DateFormat df = DateFormat.getDateInstance(); 
     Date date; 
     try { 
      date = df.parse(date_in_string_format); 
     } catch (Exception e) { 
      Log.e("Error:","Exception " + e); 
      return null; 
     } 
     return new SimpleDateFormat("EEEE").format(date); 
    } 

希望它有幫助。

相關問題