一尘不染

我想从Java Date中获取Year,Month,Day等,以便与Java中的公历日期进行比较。这可能吗?

java

我在Java中有一个Date对象,它存储为Java的Date类型。

我也有一个公历创建日期。阳历日期没有参数,因此是今天日期(和时间?)的一个实例。

使用Java日期,我希望能够从Java日期类型中获取年,月,日,小时,分钟和秒,并比较gregoriancalendar日期。

我看到,目前Java日期存储为long,唯一可用的方法似乎只是将long写为格式化的日期字符串。是否可以访问年,月,日等?

我看到了getYear()getMonth()对等的方法Date类已被弃用。我想知道在日期中使用Java Date实例的最佳实践是什么GregorianCalendar

我的最终目标是进行日期计算,以便可以检查Java日期是否在今天日期和时间的数小时,数分钟之内。

我仍然是Java的新手,对此感到有些困惑。


阅读 694

收藏
2020-03-18

共1个答案

一尘不染

使用类似:

Date date; // your date
// Choose time zone in which you want to interpret your Date
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Paris"));
cal.setTime(date);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
// etc.

当心,月份从0开始,而不是1。

2020-03-18