2012-04-25 28 views
15

Tôi có yêu cầu mà tôi cần phải so sánh hai Ngày. Một ngày sẽ đến từ DB là String trong công ty "YYYY-DD-MM" và tôi cần phải so sánh Ngày Chuỗi này với Ngày hiện tại.Cách nhận đối tượng Ngày ở định dạng “YYYY-MM-DD” trong android

cho điều này tôi đang chuyển đổi chuỗi ngày thành đối tượng ngày.

Bây giờ tôi cần ngày hiện tại cũng ở định dạng "YYYY-MM-DD" và nó phải ngày đối tượng để tôi có thể phương pháp use.compareTo() so sánh hai ngày ..

Xin hãy giúp tôi làm thế nào để làm rằng ...

+1

Có một số câu trả lời hợp lệ về chủ đề này, bạn nên chấp nhận một ... – akousmata

Trả lời

3

Nếu ngày hiện tại của bạn thực sự là một phiên bản của lớp java.util.Date, bạn không cần chỉ định định dạng cho nó; nó chỉ là một giá trị mili giây đại diện cho một thời điểm cụ thể trong thời gian.

Bạn có thể lấy ngày hiện tại như sau:

Date currentDate = new Date(); 
3

Bạn có thể sử dụng 2 cách:

  1. DateFormat đối tượng. Sử dụng phương pháp phân tích cú pháp.

  2. Tạo trình phân tích cú pháp của riêng bạn cho Ngày. Ý tôi là, bạn chuyển đổi năm, tháng và ngày thành một số nguyên và sử dụng hàm tạo Date để có được ngày tháng.

42
Date cDate = new Date(); 
String fDate = new SimpleDateFormat("yyyy-MM-dd").format(cDate); 
5
Calendar c = Calendar.getInstance(); 
SimpleDateFormat tf = new SimpleDateFormat("yyyy-MM-dd"); 
String time=DB time; 
Date parseTime= tf.parse(time); 
Integer dayNow=c.getTime().getDate(); 
Integer dayDb=parseTime.getDate(); 

sau đó bạn có thể so sánh dayNowdayDb.

3

Bạn có thể làm điều đó trong sau cách

// pick current system date 

    Date dt = new Date(); 

// set format for date 

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 

// parse it like 

     String check = dateFormat.format(dt); 


     System.out.println("DATE TO FROM DATEBASE " + 
       arrayOfStringDate[d].toString()); 
     System.out.println("CURRENT DATE " + check); 

// và so sánh như

System.out.println("compare "+ 
     arrayOfStringDate[d].toString().equals(check)); 
Các vấn đề liên quan