1.SimpleDateFormat的作用是格式化日期
(1)时间原点
零这个数字,就代表Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。 (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个小时)
为什么对应1970年呢? 因为1969年发布了第一个 UNIX 版本:AT&T,综合考虑,当时就把1970年当做了时间原点。所有的日期,都是以为这个0点为基准,每过一毫秒,就+1。
Date d = new Date(0);//得到的时间是时间原点
Date d = new Date(6000);//从1970年1月1日 早上8点0分0秒 开始经历了6秒的时间
(2)时间格式化
日期转字符串
模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持一致,如果不一样就会抛出解析异常ParseException
//日期转字符串
//y 代表年,M 代表月,d 代表日,H 代表24进制的小时
//h 代表12进制的小时,m 代表分钟,s 代表秒,S 代表毫秒
Date d = new Date();//得到的是系统当前的时间
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss ");
SimpleDateFormat s = new SimpleDateFormat("yy-MM-dd");
String str =sdf.format(d);
String str1 = s.format(d);
字符串转日期
SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
String str = "2016/1/5 12:12:12";
try {
Date d = sdf.parse(str);
System.out.printf("字符串 %s 通过格式 yyyy/MM/dd HH:mm:ss %n转换为日期对象: %s",str,d.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}