java - 我想从Java日期获得年月日等,与Java中的公历日期比较 这可能吗?

我在Java中有一个日期,作为Java日期类型。

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

使用java日期,我想从java日期类型中获得年,月,日,小时,分钟和秒,并比较gregoriancalendar日期。

我看到,目前java日期存储为long,并且可用的方法似乎只写了长格式的日期字符串。 是否有办法访问年, 月或者日?

我看到,日期类型的 getYear(), getMonth(), 等等。方法已经过时。 我想知道如何最好地使用与GregorianCalendar日期的Java日期实例。

我的目标是做一个日期计算,以便我可以检查java日期在今天的日期和时间的那么多小时,分钟等等。

我仍然是Java新手,我对这个有点迷惑。

时间:

使用类似:


 Date date; // your date Calendar cal = Calendar.getInstance(); 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.

或者你可以做这样的事情。 它将解释"日期"类的工作原理。


 String currentDateString ="02/27/2012 17:00:00"; SimpleDateFormat sd = new SimpleDateFormat("mm/dd/yyyy HH:mm:ss"); Date currentDate = sd.parse(currentDateString); String yourDateString ="02/28/2012 15:00:00"; SimpleDateFormat yourDateFormat = new SimpleDateFormat( "mm/dd/yyyy HH:mm:ss"); Date yourDate = yourDateFormat.parse(yourDateString); if (yourDate.after(currentDate)) { System.out. println("After"); } else if(yourDate.equals(currentDate){ System.out. println("Same"); }else{ System.out. println("Before"); }


 Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEEE"); System.out. println("DAY"+simpleDateFormat.format(date).toUpperCase()); simpleDateFormat = new SimpleDateFormat("MMMM"); System.out. println("MONTH"+simpleDateFormat.format(date).toUpperCase()); simpleDateFormat = new SimpleDateFormat("YYYY"); System.out. println("YEAR"+simpleDateFormat.format(date).toUpperCase());

...