-
什么是SimpleDateFormat
它是一个能将date对象和字符串对象互相转换的类,可以按照约定好的格式转换,操作方便。 -
日期转字符串操作
- 具体类型查询文档
public class SimpleDate {
public static void main(String[] args) {
//实例化日期
Date now = new Date();
System.out.println(now);
//使用SimpleDateFormat转换
/*
* 2020-2-17 18:05:33
* yyyy-MM-dd HH:mm:ss
*
* 2020/2/17
* yyyy/MM/dd
*
* 2020年2月17日
* yyyy年MM月dd日
* */
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a E");
//转换
String msg = sdf.format(now);
System.out.println(msg);
}
}
- 字符串转日期
public class SimpleDate2 {
public static void main(String[] args) throws ParseException {
String date = "2008-8-8 20:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//Date parse(String str);
//将字符串转换为日期
Date time = sdf.parse(date);
System.out.println(time);
//获得偏移量
System.out.println(time.getTime());
}
}
- 练习
public class SimpleDateDemo1 {
public static void main(String[] args) throws ParseException {
Scanner scr = new Scanner(System.in);
System.out.println("输入生日");
String birth = scr.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//生日的date对象
Date birthday = sdf.parse(birth);
//今天的Date对象
Date now = new Date();
//计算获得毫秒差
long time = now.getTime() - birthday.getTime();
time = time/1000/60/60/24;
System.out.println("一共活了"+time+"天 ");
//获得生日时间偏离量
time = birthday.getTime();
//在生日的时间偏离量上加上10000天的毫秒数
time = time+10000L*24*60*60*1000;
//实例化Date对象,在构造中赋值时间偏离量
Date date = new Date(time);
//将date对象转换为字符串对象
String anniv = sdf.format(date);
System.out.println(anniv);
}
}
- 10000L为long类型,第一个是long,乘法后面的自动转型为long