java - 如何检查日期对象是否等于昨天?

标签 java date calendar java-time

现在我正在使用此代码

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE) - 1, 12, 0, 0); //Sets Calendar to "yeserday, 12am"
if(sdf.format(getDateFromLine(line)).equals(sdf.format(cal.getTime())))                         //getDateFromLine() returns a Date Object that is always at 12pm
{...CODE

必须有一种更流畅的方法来检查 getdateFromLine() 返回的日期是否是昨天的日期。重要的是日期,而不是时间。这就是我使用 SimpleDateFormat 的原因。 提前感谢您的帮助!

最佳答案

Calendar c1 = Calendar.getInstance(); // today
c1.add(Calendar.DAY_OF_YEAR, -1); // yesterday

Calendar c2 = Calendar.getInstance();
c2.setTime(getDateFromLine(line)); // your date

if (c1.get(Calendar.YEAR) == c2.get(Calendar.YEAR)
  && c1.get(Calendar.DAY_OF_YEAR) == c2.get(Calendar.DAY_OF_YEAR)) {

这也适用于 1 月 1 日这样的日期。

关于java - 如何检查日期对象是否等于昨天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006150/

相关文章:

java - 使用 Drupal + 内容构建工具包创建灵活的 Web 表单 - 适用于 Java

java - 如何从 JDatePicker 中提取和重置日期?

iphone - 无法获取日历标题

c# - SQL Server 2008 回归时间的 DATE 数据类型!

java - HSQLDB:使用 java 插入/获取日期

events - 在 GAS 触发事件代码中,如何找出更新了哪个 Google 日历事件?

java - (Java) 尝试使用 JPanel 中的其他元素格式化多个 JTable 的布局

java - Apache POI中如何自动区分XSSF和HSSF?

java - 如何在 Java 中将 URL 分解为其组成部分?

mysql - Node js服务器,mysql数据库,返回错误的日期值