Ответ 1
Date cDate = new Date();
String fDate = new SimpleDateFormat("yyyy-MM-dd").format(cDate);
У меня есть требование, чтобы мне нужно было сравнить два дата. Одна дата будет получена из базы данных, которая является строкой в фирме "YYYY-DD-MM", и мне нужно сравнить эту строковую дату с текущей датой.
для этого я преобразовываю объект Date String в Date.
Теперь мне нужна текущая дата также в формате "ГГГГ-ММ-ДД", и это должен быть объект Date, чтобы я мог использовать метод use.compareTo(), чтобы сравнить две даты.
Пожалуйста, помогите мне, как это сделать...
Date cDate = new Date();
String fDate = new SimpleDateFormat("yyyy-MM-dd").format(cDate);
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();
то вы можете сравнить dayNow
и dayDb
.
Если ваша текущая дата на самом деле является экземпляром класса java.util.Date
, вам не нужно указывать формат для него; это всего лишь миллисекундное значение, которое представляет определенный момент времени.
Вы можете получить текущую дату следующим образом:
Date currentDate = new Date();
Вы можете использовать 2 способа:
DateFormat объект. Используйте метод анализа.
Сделайте свой собственный парсер Даты. Я имею в виду, что вы конвертируете год, месяц и день в целое число каждый и используете Date конструктор, чтобы получить дату.
Вы можете сделать это следующим образом
// 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);
//и сравниваем как
System.out.println("compare "+
arrayOfStringDate[d].toString().equals(check));