Calendar.getInstance() returns 1-2-5(日-月-年)

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

我有这段代码:

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

我的问题是 date1 returns 日期 01/02/0005(1/2/5 格式)。我阅读了有关 SimpleDateFormat 的信息,但是它 returns 具有相同的值。

尝试这些代码行以获得正确的日期:-

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);

对于您的解决方案,请尝试这些

  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);

试试下面的代码:

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);

date1.YEAR returns 只是一个 常量 值。与 Calendar.YEAR.

相同的值

相反,您需要结合使用 date1.get(...) 方法和 Calendar.YEAR。看这个例子:

  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);