António Paulo
António Paulo

Reputation: 351

Calendar.getInstance() returns 1-2-5(Day-Month-Year)

I have this chunk of code:

Calendar date1 = Calendar.getInstance();      
DateTime dateTime1 = new DateTime(date1.YEAR, date1.MONTH, date1.DAY_OF_MONTH, date1.HOUR_OF_DAY, date1.MINUTE, date1.SECOND);

My problem is that date1 returns the date 01/02/0005 (in a 1/2/5 format). I read about SimpleDateFormat, however it returns the same value.

Upvotes: 1

Views: 437

Answers (3)

Ragesh Ramesh
Ragesh Ramesh

Reputation: 3520

date1.YEAR returns only a constant value. The same value as Calendar.YEAR.

Instead, you need to use the date1.get(...) method, in conjunction with Calendar.YEAR. See this example:

  Calendar date1 = Calendar.getInstance();      
  DateTime dateTime1 = new DateTime(date1.get(Calendar.YEAR), date1.get(Calendar.MONTH), date1.get(Calendar.DAY_OF_MONTH), date1.get(Calendar.HOUR_OF_DAY), date1.get(Calendar.MINUTE), date1.get(Calendar.SECOND);

Upvotes: 1

Ravindra Kushwaha
Ravindra Kushwaha

Reputation: 8042

Try these lines of code to get the correct date:-

Calendar ci = Calendar.getInstance();
     String AM_PM;

      if(ci.get(Calendar.AM_PM)==0)
        {
             AM_PM ="AM";
        }
        else
        {
             AM_PM ="PM";
        }
        String CiDateTime = "" + ci.get(Calendar.YEAR) + "-" + 
            (ci.get(Calendar.MONTH) + 1) + "-" +
            ci.get(Calendar.DAY_OF_MONTH)+" "+AM_PM;

         System.out.println("time=========================================="+CiDateTime);

For yours solution, try these

  Calendar ci = Calendar.getInstance();
  DateTime dateTime1 = new DateTime(ci.get(Calendar.YEAR), ci.get(Calendar.MONTH), ci.get(Calendar.DAY_OF_MONTH), ci.get(Calendar.HOUR_OF_DAY), ci.get(Calendar.MINUTE), ci.get(Calendar.SECOND);

Upvotes: 1

Vickyexpert
Vickyexpert

Reputation: 3167

Try below code:

Calendar date1 = Calendar.getInstance();   
Date date = new Date(); 
date1.setTime(date);   
DateTime dateTime1 = new DateTime(date1.YEAR, date1.MONTH, date1.DAY_OF_MONTH, date1.HOUR_OF_DAY, date1.MINUTE, date1.SECOND);

Upvotes: -1

Related Questions