关于java:仅显示日期的日历api

calendar api to display date alone

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    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.U.FieldScRealDeal[Trime],AcLeGieldStase= true,Apple FieldStase=真,Apple=Sun.Uut.Palimal.ZID OnnFiel[ID]="亚洲/加尔各答",偏移=19800000,dStAtdie= 0,UndiyLay=假,过渡=6,Lastruule= NULL,第一天星期一=1,Real= 1,年=2010,月=11,星期一年=49,星期一月月=1,月日=2,天1291275522078。ar=336,周的第_天=5,月的第_周的第_天=1,am _pm=1,小时=1,小时_天=13,分钟=8,秒=42,毫秒=78,区域_偏移=9800000,dst _偏移=0]

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


我个人会用joda time(和它的LocalDate类,如果你真的只想维持日期)而不是java.util.Calendar,但是如果你真的想用Calendar,你需要SimpleDateFormat

java.util.calendar示例:

1
2
3
4
5
6
7
8
9
10
11
12
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时间样本:

1
2
3
4
5
6
7
8
9
10
11
12
13
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));
    }
}


使用caledar.gettime()返回日期。然后使用simpledateformat根据需要对其进行格式化。


java.text.DateFormat代替裸Calendar


查看http://veyder-time.enblom.org,它是java.util.calendar的一个简单而强大的替代方案。