Java中的Calendar 类和SimpleDateFormat 类
1.Calendar 类:
import java.util.Calendar;
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);//当前日期
int month = cal.get(Calendar.MONTH)+1;//月份 注:在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
int year = cal.get(Calendar.YEAR);//年份
int dow = cal.get(Calendar.DAY_OF_WEEK);//一周的第几天
int dom = cal.get(Calendar.DAY_OF_MONTH);//一月中的第几天
int doy = cal.get(Calendar.DAY_OF_YEAR);//一年的第几天
System.out.println("当期时间: " + cal.getTime());
System.out.println("日期: " + day);
System.out.println("月份: " + month);
System.out.println("年份: " + year);
System.out.println("一周的第几天: " + dow); // 星期日为一周的第一天输出为1,星期一输出为2,以此类推
System.out.println("一月中的第几天: " + dom);
System.out.println("一年的第几天: " + doy);
输出:
当期时间: Wed Nov 01 17:20:02 CST 2017
日期: 1
月份: 11
年份: 2017
一周的第几天: 4
一月中的第几天: 1
一年的第几天: 305
2.SimpleDateFormat 类:
G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
import java.util.Date;
import java.text.SimpleDateFormat;
Date date=new Date();//获取当前时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss GEa");//格式化
SimpleDateFormat sdf1=new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时z时区");
System.out.println(sdf.format(date)); //输出:2017-11-01 17:18:30 公元星期三下午
System.out.println(sdf1.format(date)); //一年中的第 305 天 一年中第44个星期 一月中第1个星期 在一天中17时 CST时区
System.out.println(date); //Wed Nov 01 17:18:30 CST 2017