2012-02-18 63 views

Trả lời

42

Sử dụng định dạng ngày java.

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

Bạn có thể sử dụng Lịch

  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

theo cách này, bạn sẽ không bao giờ thấy SUNDAY ... – dit

+1

Chuỗi [] ngày = chuỗi mới [] {"", "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" , "SATURDAY"} –

0

Đầu chuyển đổi chuỗi ngày đến một ngày sử dụng SimpleDateFormat.

Sau đó tạo một phiên bản Calendar từ ngày đó.

Cuối cùng, truy xuất ngày trong tuần từ Calendar bằng cách sử dụng get(Calendar.DAY_OF_WEEK). Điều này sẽ cung cấp cho bạn một số nguyên từ 1 đến 7 đại diện cho ngày trong tuần. Bạn có thể đơn giản bản đồ này vào một mảng các chuỗi để có được những ngày.

4

Chỉ cần sử dụng một dòng mã:

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

Đây là cách tiếp cận tốt nhất theo ý kiến ​​của tôi. Có chính xác những gì tác giả của câu hỏi được yêu cầu và là một dòng duy nhất. – Forke

0

On câu trả lời @ vivek của thêm "-1" tại calendar.get(Calendar.DAY_OF_WEEK), vì nó trả về số 1-7 nhưng các mảng String được lập chỉ mục từ 0 đến 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

Phương thức dưới đây sẽ trả về ngày bằng cách chuyển ngày ở định dạng Chuỗi. null được trả về nếu ngoại lệ xảy ra.

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); 
    } 

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan