日历api单独显示日期

时间:2010-12-02 07:42:22

标签: java

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

以上代码产生以下输出 加入的日期 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,月= 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]

我只需要单独打印日期。我该如何更改代码?

4 个答案:

答案 0 :(得分:8)

个人而言我会使用Joda Time(及其LocalDate类,如果你真的只想维持日期而不是java.util.Calendar,但如果你做< / em>想要使用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()));
    }
}

Joda时间样本:

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

答案 1 :(得分:2)

使用java.text.DateFormat代替裸Calendar

答案 2 :(得分:2)

使用返回Date的Caledar.getTime()。然后使用SimpleDateFormat格式化它。

答案 3 :(得分:0)

签出http://veyder-time.enblom.org这是java.util.Calendar的一个简单而强大的替代方案。