我用它来创建日期并将其放入数据库中:
String currentDateTimeString = DateFormat.getDateInstance().format(new Date());
我想构建一个与上述格式类似的日期,并将其与currentDateTimeString
进行比较。
我有3个整数。我该怎么做(int year,int month,int day)?
更新:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_MONTH, day);
Date result = cal.getTime();
String currentDateTimeString2 = DateFormat.getDateInstance().format(result);
我在这做错了什么......两个都不相同: currentDateTimeString2 == currentDateTimeString // false
答案 0 :(得分:1)
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DATE, date);
cal.set(Calendar.MONTH, month-1);//it starts from 0
cal.set(Calendar.YEAR, year);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date result = cal.getTime();
我在这做错了什么......两个都不相等:currentDateTimeString2 == currentDateTimeString // false
字符串是对象,无法与==
使用equals()
方法
答案 1 :(得分:1)
日期以毫秒表示。新日期返回当前日期,按日期表示年,月,日,小时,分钟,秒,毫秒。
可以通过Date.isAfter进行比较。
不要使用字符串来比较日期。不要使用==来比较对象。