日期相关类①Date②Calender
一、Date
时间原点:1970.1.1 0:00:00:00每一千年会越界,long型
Date now = new Date();
System.currentTimeMillis();距时间原点的毫秒数,常常用来测试代码用了多少毫秒,两句中间放测试代码
Date:
1、得当前时间和日期,常用Date
2、做日期比较,after ,before,equals
3、打印日期字符串,常用SimpleDateFormat类配合使用们可以创建格式化模板
4、根据设置得到指定日期,不方便,使用Calender
Date now = new Date();
SimpleDateFormat S = new SimpleDateFormat("yy年M月dd日 HH:mm:ss");
hh:12小时制,yyyy:四位年,E周几
System.out.prinln(S.format(now));
i18n 国际化
internationaliza tion 第一个i和最后一个n中间还有18个
二、Calender 日历类,抽象类,直接子类格林高治历,现在的公历
Calender cal = Calender.getInstance();得到格林高治的实例,因为new子类实在太麻烦,这里提供了一个得到子类实例的方法
常用,获取日历实例对象
可以快速设定日期
两种方法将Calender转换为Date
Date 的构造
Calender的方法
API
Date date = cal.getTime();
date = new Date(cal.getTimeInmillis());
反过来:cal.getInstanceOf
setTime;
1 package com.systemTest;
2
3 import java.text.SimpleDateFormat;
4 import java.util.Calendar;
5 import java.util.Date;
6
7 import javax.swing.JOptionPane;
8
9 /**
10 * @Author: YuanqiuChen
11 * @Date:2016-3-3-上午10:45:50
12 *
13 *
14 */
15
16 public class DateTest {
17 public static void main(String[] args) {
18 // long start = System.currentTimeMillis();
19 // for (int i = 0; i < 1000; i++) {
20 // System.out.println("haha");
21 // }
22 // long end = System.currentTimeMillis();
23 // System.out.println(end - start);
24
25 //两个 一个Date 一个Calendar
26 //1、得当前时间日期,常用Date
27 //2、做日期比较,after before equals
28 //3、打印日期字符串的时候,常用SimpleDateFormat类配合使用,可以自己创建格式化模板
29 //4、根据设置得到指定时间,使用Date不方便,推荐使Calendar
30
31 Date now = new Date();//得到当前时间毫秒数 util包
32 Date past = new Date(100000000);//用形参代表毫秒数,得到形参所代表的时间
33 System.out.println(now);
34 System.out.println(now.getTime());
35
36 SimpleDateFormat sdf = new SimpleDateFormat("yy年MM月d日 HH:mm:ss E");
37 System.out.println(sdf.format(now));
38
39
40 Calendar cal = Calendar.getInstance();
41 String[] week = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
42
43 //一周的第几天,周日是第一天,星期天是在数组中下标为0
44 System.out.println(cal.get(Calendar.DATE) + week[cal.get(Calendar.DAY_OF_WEEK)-1]);
45
46 String date = JOptionPane.showInputDialog("请输入年月日,格式2000-07-27");
47
48 String[] temp = date.split("-");
49 int year = Integer.parseInt(temp[0]);
50 int mon = Integer.parseInt(temp[1]);
51 int day = Integer.parseInt(temp[2]);
52
53 cal.set(year,mon-1,day);
54
55 JOptionPane.showMessageDialog(null,year+"年" + mon+"月"+day+"日" + week[cal.get(cal.DAY_OF_WEEK)-1]);
56
57 //两种方法两Calendar转换为Date
58 Date date1 = cal.getTime();
59 date1 = new Date(cal.getTimeInMillis());
60
61 //反过来,cal.getInstancof setTime
62
63 //转换为date ,用SimpleDateFormat,控制格式E
64 sdf = new SimpleDateFormat("E");
65 System.out.println("hahaha" + sdf.format(date1));
66
67 //月份从0开始,所以减一
68 cal.set(1991,3-1,27);
69
70 //一周的第几天,周日是第一天,星期天是在数组中下标为0
71 System.out.println(week[cal.get(Calendar.DAY_OF_WEEK)-1]);
72
73 System.out.println(cal.get(Calendar.YEAR));
74 System.out.println(cal.get(Calendar.DATE));
75 System.out.println(cal.get(Calendar.MONTH));
76
77 System.out.println(sdf.format(cal.getTime()));
78
79 }
80 }
原文:http://www.cnblogs.com/wanglei718/p/5392549.html