将日历对象转换为日期android的问题

时间:2015-07-16 04:58:08

标签: android date calendar

我想将日历对象转换为日期,如下所示。

int year,month,day;
mCalendarEnd = Calendar.getInstance();
year = mCalendarEnd.get(Calendar.YEAR);
month = mCalendarEnd.get(Calendar.MONTH)+1;
day   = mCalendarEnd.get(Calendar.DAY_OF_MONTH);

现在将其转换为日期对象

Date d1 = new Date(day,month,year);

当我打印日期对象时:

System.out.println("Date : "+d1.getDay()+"/"+d1.getMonth()+"/"+d1.getYear());

它应该打印当前日期,但在上面的代码中它打印错误的日期。不知道怎样才能解决这个问题?你的所有建议都很明显。

5 个答案:

答案 0 :(得分:2)

calendar.getTime()返回Date对象。

但是,如果您只需要今天日期new Date(),则返回今天日期作为Date对象。

日历示例:

Calendar calendar = Calendar.getInstance()
Log.i("My Tag", "calendar getTime -----> " + calendar.getTime());

输出:

My Tag: calendar getTime -----> Wed Dec 05 13:03:43 GMT+03:30 2018

日期示例:

Log.i("My Tag", "new Date -----> " + new Date());

输出:

My Tag: new Date -----> Wed Dec 05 13:05:38 GMT+03:30 2018

您会看到它们具有相同的输出。

答案 1 :(得分:1)

将其放入您的代码中:

image.convert('RGB').getbbox()

您将获得正确的日期。

答案 2 :(得分:1)

为什么不使用日历?

System.out.println("Date   : " + day + "/" + month + "/" + year);

结果1/1/1900

或者您想要其他格式?但不要以1

增加月份
System.out.println("Date   : " + day + "/" + new DateFormatSymbols().getMonths()[month] + "/" + year);

结果1 / January / 1900

答案 3 :(得分:1)

你需要这样做

    //Set calendar
    Calendar calendar = Calendar.getInstance();
    Date date1 = calendar.getTime(); // gives a date object

    //To get day difference, Just an example
    calendar.add(Calendar.DAY_OF_MONTH, -7);
    Date date2 = calendar.getTime(); // gives a date object

    long differenceInMillis = Date1.getTime() - Date2.getTime();
    long differenceInDays = TimeUnit.DAYS.convert(differenceInMillis, TimeUnit.MILLISECONDS);

或者不需要日期对象

    Calendar calendar = Calendar.getInstance();
    long date1InMillis = calendar.getTimeInMillis();

    calendar.add(Calendar.DAY_OF_MONTH, -7);
    long date2InMillis = calendar.getTimeInMillis();

    long differenceInMillis = date1InMillis - date2InMillis;
    long differenceInDays = TimeUnit.DAYS.convert(differenceInMillis, TimeUnit.MILLISECONDS);
    calendar.getTimeInMillis()

答案 4 :(得分:0)

ModernMenu