안녕 얘들 아이 문제는 지금 나를 미치게합니다. 값이 Jan 18, 2018
인 dueDate
이라는 데이터베이스에 문자열이 있습니다. 나는 그것을 회수하여 내 recyclerAdapter에 문자열로 저장했다. String dueDate = transactionTasks.get(position).get_transactiontaskpaydet().toString();
문자열을 날짜로 변환하고 현재 날짜와 비교하십시오.
이제 이것을 현재 날짜와 비교하고 만기 날짜가 현재 날짜 이후 인 경우 만기일을 빨간색으로 표시해야한다.
내 코드가 있습니다.
String dueDate = transactionTasks.get(position).get_transactiontaskpaydet().toString();
Date cdate = new Date();
Date ddate = new Date(dueDate);
if(cdate.after(ddate)){
holder.date.setTextColor(Color.RED);
}
이 코드는 완벽하게 작동하지만 Date(dueDate);
은 더 이상 사용되지 않습니다. 그리고 try
및 catch
을 사용하는 다른 방법을 사용할 때 어떤 결과도 얻지 못합니다. 다음은
SimpleDateFormat format = new SimpleDateFormat("E, MMM dd yyyy");
Date curDate = new Date();
try {
Date datedue = format.parse(dueDate);
if(curDate.after(datedue)) {
holder.date.setTextColor(Color.RED);
}
} catch (ParseException e) {
e.printStackTrace();
}
코드입니다 그리고 난 Date duedate = null;
를 사용하여 try
블록 외부 Date
를 작성하려고하면 그것은 try
블록 내부의 값을받지 때문에 오류가 발생합니다. 이것은 완벽하게 작동하더라도 비추천 코드를 사용해서는 안되기 때문에 저를 미치게합니다.
나는 모든 답변을 찾지 못했습니다. 문자열을 날짜로 변환 할 수 있어야 현재 날짜와 비교할 수 있습니다. 고마워 얘들 아
캘린더 사용 cal = Calendar.getInstance(); 대신 – RaniDevpr
이것은 "별난 구문을 사용하여 날짜를 구문 분석하는 방법"과 다른 것입니다. 필자는 (다른 것들 중에서) 날짜 구문과 일치하는 날짜 형식을 만드는 방법을 설명하는 일반적인 Q & A에 연결했습니다. (그 Q & A가 당신을 위해 작동하지 않는다면, 제대로 읽지 않은 것입니다!) –