Reputation: 351
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
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
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
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