我有一个需求,需要比较两个日期。其中一个日期将从数据库中获取,它是以“YYYY-DD-MM”格式的字符串形式存在,我需要将这个字符串日期与当前日期进行比较。
为了实现这一点,我将日期字符串转换为日期对象。
现在我还需要当前日期以“YYYY-MM-DD”格式,并且它应该是日期对象,以便我可以使用.compareTo()方法比较两个日期。
请帮助我如何实现...
Date cDate = new Date();
String fDate = new SimpleDateFormat("yyyy-MM-dd").format(cDate);
// 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));
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();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
String currentTime=simpleDateFormat.format(new Date());
Log.d("Currentdate",currentdate);