SimpleDateFormat: 可以把一个日期对象格式化成一个文本(字符串) , 也可以把一个日期字符串解析成一个日期对象.
构造方法:
- public SimpleDateFormat():使用默认的模式来创建一个SimpleDateFormat对象
- public SimpleDateFormat(String pattern):使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象
规则的定义
y 年
M 月
d 天
H 时
m 分
s 秒
成员方法:
public String format(Date date): 把一个日期对象格式化成一个字符串;
public Date parse(String dateStr): 把一个日期字符串解析成一个日期对象 注意要以指定格式解析
public class DateUtils {
//私有化构造
private DateUtils() {
}
//提供格式化好的日期字符串
public static String getDateString(String fomat) {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat(fomat);
String dateStr = format.format(date);
return dateStr;
}
//提供返回Date 对象的方法
public static Date getDate(String dateStr, String format) throws ParseException {
SimpleDateFormat format1 = new SimpleDateFormat(format);
Date date = format1.parse(dateStr);
return date;
}
public class MyTest {
public static void main(String[] args) throws ParseException {
String string = DateUtils.getDateString("yyyy-MM-dd");
System.out.println(string);
String dateStr="2019-01-01 13:10:10";
Date date = DateUtils.getDate(dateStr, "yyyy-MM-dd HH:mm:ss");
System.out.println(date);
}
}
public class MyTest2 {
public static void main(String[] args) throws ParseException {
//思路:先获取出你生日那天的毫秒值,再获取现在的毫秒值 两个相减差值换算成天数
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的生日 格式 例如 1990-01-01");
String dateStr = sc.nextLine();
Date date = DateUtils.getDate(dateStr, "yyyy-MM-dd");
long time = date.getTime();
//long time = new SimpleDateFormat("yyyy-MM-dd").parse(dateStr).getTime();
//获取现在的毫秒值
long now = System.currentTimeMillis();
long num=now-time;
System.out.println("你来到这个世界"+(num/1000/60/60/24/365)+"年");
}
}
public class MyTest3 {
public static void main(String[] args) {
//JDK1.8 之后,提供了一套全新的时间日期API 也推荐你使用JDK1.8所提供的
//_常见对象(你来到这个世界多少天案例) (掌握)
LocalDate start = LocalDate.of(1998, 5, 13);
LocalDate now = LocalDate.now();
//算出两个日期的间隔
Period between = Period.between(start, now);
int years = between.getYears();
int months = between.getMonths();
int days = between.getDays();
System.out.println("你现在"+years+"岁 零"+months+"月 零"+days+"天");
}
}