头文件:
import java.text.*;
import java.util.Calendar;
import java.util.Date;
Date类:Date now =new Date();
Calendar类:Calendar calendar = Calendar.getInstance(); //实时的
Calendar转为Date: now=calendar.getTime();
Date转为Calendar:calendar.setTime(new java.util.Date());
利用Calendar求星期几:
String[] weeks = { “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六” };
// 获取一星期的某天
int index = calendar.get(Calendar.DAY_OF_WEEK);
// 获取星期几
String week = weeks[index - 1];
将Date化为特定形式:
SimpleDateFormat myFmt3=new SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒 E “);
Date now=new Date();
System.out.println(myFmt3.format(now));
例子:
import java.text.*;
import java.util.Date;
/**
SimpleDateFormat函数语法:
G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12),12小时制
H 时 在一天中 (0~23),24小时制
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
*/
public class FormatDateTime {
public static void main(String[] args) {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat myFmt4=new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
Date now=new Date();
System.out.println(myFmt.format(now));
System.out.println(myFmt1.format(now));
System.out.println(myFmt2.format(now));
System.out.println(myFmt3.format(now));
System.out.println(myFmt4.format(now));
System.out.println(now.toGMTString());
System.out.println(now.toLocaleString());
System.out.println(now.toString());
}
}
/*
* 结果如下:
2016年06月20日 01时22分13秒
16/06/20 01:22
2016-06-20 01:22:13
2016年06月20日 01时22分13秒 星期一
一年中的第 172 天 一年中第26个星期 一月中第4个星期 在一天中1时 CST时区
19 Jun 2016 17:22:13 GMT
2016-6-20 1:22:13
Mon Jun 20 01:22:13 CST 2016
*/