-1

I want to get Date from DB and get from date year, month, day, hour and minutes

The way i'm doing it is:

Date dateStart = calendarEvents.getDateStart();

        java.util.Calendar calendarEventStart = java.util.Calendar.getInstance();
        calendarEventStart.setTime(dateStart);

        java.util.Calendar now = java.util.Calendar.getInstance();

        parseDateToCalendar.setYearStart(now.get(calendarEventStart.YEAR));
        parseDateToCalendar.setMonthStart(now.get(calendarEventStart.MONTH));
        parseDateToCalendar.setDayStart(now.get(calendarEventStart.DAY_OF_MONTH));
        parseDateToCalendar.setHourStart(now.get(calendarEventStart.HOUR_OF_DAY));
        parseDateToCalendar.setMonthStart(now.get(calendarEventStart.MINUTE));

And java suprise me, cose in DB my date is:

2014-05-21 04:15:00.0

dateStart variable has also date

2014-05-21 04:15:00.0

but now.get(calendarEventStart.HOUR_OF_DAY display: 14

and now.get(calendarEventStart.MINUTE) display: 46

WHY and what to do to get correct hour and minutes ?

YOU WERE RIGHT - NOW IS CORRECT DATE, BUT NOW I HAVE ANOTHE ISSUE:

        java.util.Calendar calendarEventStart = GregorianCalendar.getInstance();
        calendarEventStart.setTime(dateStart);

        parseDateToCalendar.setYearStart(calendarEventStart.get(calendarEventStart.YEAR));
        parseDateToCalendar.setMonthStart(calendarEventStart.get(calendarEventStart.MONTH));
        parseDateToCalendar.setDayStart(calendarEventStart.get(calendarEventStart.DAY_OF_MONTH));
        parseDateToCalendar.setHourStart(calendarEventStart.get(calendarEventStart.HOUR_OF_DAY));
        parseDateToCalendar.setMonthStart(calendarEventStart.get(calendarEventStart.MINUTE));

Display:

parseDateToCalendar.getYearStart() = 2014 - THIS IS OK (YEAR)
parseDateToCalendar.getMonthStart() = 30 - !!WRONG - THIS SHOULD BE MINUTE
parseDateToCalendar.getDayStart() = 21 - THIS IS OK (DAY)
parseDateToCalendar.getHourStart() = 4 - !!WRONG - THIS SHOULD BE MONTH
parseDateToCalendar.getMinuteStart() = 0 - !!WRONG - HERE SHOULD BE VALUE FROM MONTH
Ilkar
  • 2,113
  • 9
  • 45
  • 71
  • This is Java code and not DB/database, please can you tell us what sort of database your using? if you using mysql you can choose SELECT NOW(); now for Java you can use the LocalDate. http://stackoverflow.com/questions/8997228/how-to-get-the-first-day-of-a-month/23699152#23699152 – Gabriel May 21 '14 at 13:09

2 Answers2

1

You are getting the info from the now date and not from the one you retrieved. Date dateStart = calendarEvents.getDateStart();

        java.util.Calendar calendarEventStart = java.util.Calendar.getInstance();
        calendarEventStart.setTime(dateStart);

        parseDateToCalendar.setYearStart(calendarEventStart .get(calendarEventStart.YEAR));
        parseDateToCalendar.setMonthStart(calendarEventStart .get(calendarEventStart.MONTH));
        parseDateToCalendar.setDayStart(calendarEventStart .get(calendarEventStart.DAY_OF_MONTH));
        parseDateToCalendar.setHourStart(calendarEventStart .get(calendarEventStart.HOUR_OF_DAY));
        parseDateToCalendar.setMonthStart(calendarEventStart .get(calendarEventStart.MINUTE));
Hussein Zawawi
  • 2,907
  • 2
  • 26
  • 44
1

now is the actual date! Not the date from DB

Jens
  • 67,715
  • 15
  • 98
  • 113