不使用java.time.LocalDate
时间: 2024-08-16 16:08:05 浏览: 52
如果你不想使用Java 8及以后版本的`java.time.LocalDate`类,你可以使用传统的`java.util.Date`和`Calendar`类,虽然这种方式稍微复杂一些,因为它们处理闰年的方式可能需要手动检查。以下是一个使用`java.util.Date`和`Calendar`的例子:
```java
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class UserSystemOld {
public static void main(String[] args) {
// ... 其他部分不变 ...
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
Date loginDate = formatter.parse(loginDateStr);
Calendar loginCal = Calendar.getInstance();
loginCal.setTime(loginDate);
Calendar currentDateCal = Calendar.getInstance();
currentDateCal.set(2020, Calendar.MARCH, 1); // 假设这是2020年3月1日
// 计算日期差
long diffInMilliseconds = currentDateCal.getTimeInMillis() - loginCal.getTimeInMillis();
// 转换为天数并输出
int daysPassed = (int) (diffInMilliseconds / (24 * 60 * 60 * 1000));
System.out.printf("本系统已经陪您度过了%d天", daysPassed);
} catch (ParseException e) {
System.out.println("输入的日期格式有误,请重新输入!");
}
}
}
```
在这个例子中,你需要手动处理闰年以及月份的差异,但这通常比`java.time.LocalDate`繁琐。
阅读全文