因为Java.Text.DateFormat是抽象类,无法创建对象,所以用它的子类simpledateformat
方法:
String format(Date date) ;格式化 - 按照指定的格式把date日期转为文本(字符串)。
package cn.cusx.date;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Format2Text {
public static void main(String[] args) {
Format2TextMethod();
}
private static void Format2TextMethod() {
//1.创建一个simpledateformat对象,写入格式化格式,参数(pattern):"yyyy年MM月dd日hh时mm分ss秒"
//2.创建一个date,调用simpledateformat的format方法输出格式化日期
SimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
Date B = new Date();
String C = A.format(B);
System.out.println(C);
}
}
运行截图(不知道为什么会有12小时的时差,我运行的时候是晚上七点五十五分,有求知欲的小伙伴自行百度吧。我懒了!)
Date parse(String source);解析 - 把符合格式的文本(字符串)解析为Date日期。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Parse2Date {
public static void main(String[] args) throws ParseException {//如果格式不一致,将异常抛出给JVM
Parse2DateMethod();
}
private static void Parse2DateMethod() throws ParseException {//如果格式不一致,将异常抛出给JVM
//1.创建simpledateformat对象,输入解析格式,参数(pattern):"yyyy年MM月dd日hh时mm分ss秒"。
//2.对象调用simpledateformat中的parse方法,参数:格式化文本日期。输出
SimpleDateFormat A = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
Date B = A.parse("2020年06月09日03时54分38秒");
System.out.println(B);
}
}
运行截图(这个也有时差。我又懒了!!)
练习:计算一个人活了几天
package cn.cusx.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class HowLongHaveIBeenLive {
public static void main(String[] args) throws ParseException {
//1.获取键盘输入的日期,创建simpledateformat对象,将日期转为毫秒
//2.获取当前时间,转为date
//3求差值,转换为天数,输出结果
Scanner A = new Scanner(System.in);
System.out.println("请输入你的公历生日,如19990101");
String B = A.next();
SimpleDateFormat C = new SimpleDateFormat("yyyyMMdd");
Date D = C.parse(B);
long E = D.getTime();
long F = new Date().getTime();
long G = F - E;
System.out.println("阁下已经活了"+ G/1000/60/60/24 +"天");
}
}