2010-12-02 108 views
2
import java.util.Calendar; 

    public class Employee { 
     private Calendar doj; 
     public Employee(Calendar date) { 
      // TODO Auto-generated constructor stub 
      this.doj=date; 
     } 
     public Calendar getDoj() 
     { 
     return doj; 
     } 

    } 



import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.List; 


public class TestEmployeeSort { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     List<Employee> coll = getEmployees(); 
     printList(coll); 
    } 
     public static List<Employee> getEmployees() 
     { 
      List<Employee> col = new ArrayList<Employee>(); 

      col.add(new Employee(Calendar.getInstance())); 
      return col; 
     } 
     private static void printList(List<Employee> list) { 
      System.out.println("Date_Of_Joining"); 

      for (int i = 0; i < list.size(); i++) { 
       Employee e = list.get(i); 
       System.out.println(e.getDoj()); 
      } 
     } 
    } 

上述碼產生以下輸出 Date_Of_Joining java.util.GregorianCalendar中[時間= 1291275522078,areFieldsSet =真,areAllFieldsSet =真,寬大=真,區= sun.util。 calendar.ZoneInfo [ID = 「亞洲/加爾各答」,偏移= 19800000,dstSavings = 0,useDaylight =假,過渡= 6,lastRule =空],Firstdayofweek可= 1,minimalDaysInFirstWeek = 1,ERA = 1,YEAR = 2010,MONTH = 11,WEEK_OF_YEAR = 49,WE​​EK_OF_MONTH = 1,DAY_OF_MONTH = 2,DAY_OF_YEAR = 336,DAY_OF_WEEK = 5,DAY_OF_WEEK_IN_MONTH = 1,AM_PM = 1,HOUR = 1,HOUR_OF_DAY = 13,MINUTE = 8,SECOND = 42,微差= 78 ,ZONE_OFFSET = 19800000,DST_OFFSET = 0]日曆API來顯示日期單獨

我只需要單獨打印日期。我應該如何更改代碼?

回答

8

嗯,我個人會使用Joda Time(及其LocalDate類,如果你真的只是想保持日期),而不是java.util.Calendar,但如果你做使用Calendar,你需要一個SimpleDateFormat

java.util.Calendar中的示例:

import java.util.*; 
import java.text.*; 

public class Test 
{ 
    public static void main(String[] args) 
    { 
     Calendar calendar = Calendar.getInstance(); 
     SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
     System.out.println(format.format(calendar.getTime())); 
    } 
} 

喬達時間樣本:

import org.joda.time.*; 
import org.joda.time.format.*; 

public class Test 
{ 
    public static void main(String[] args) 
    { 
     LocalDate today = new LocalDate(); 
     // Alternatively, use DateTimeFormat.mediumDate etc 
     DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy"); 
     System.out.println(formatter.print(today)); 
    } 
} 
2

使用java.text.DateFormat,而不是裸露Calendar

2

使用返回日期的Caledar.getTime()。然後使用SimpleDateFormat根據需要對其進行格式化。

0

檢出http://veyder-time.enblom.org這是java.util.Calendar的一個簡單而強大的替代方法。

+0

良好的智力努力,但我認爲 - 當Joda時間和新的Java 9 API在市場上存在時有這種意義嗎?第三,不兼容的日期api? – 2015-09-16 01:32:12