1、SimpleDateFormat
1 package Day21; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 /** 7 * @Classname DateFormatTest01 8 * @Description TODO 9 * @Date 2019/5/14 22:13 10 * @Created by Administrator 11 */ 12 public class DateFormatTest01 { 13 public static void main(String[] args) { 14 demo01(); 15 } 16 17 /* 18 * 使用DateFormat类中的方法format,把日期格式化为文本 19 * 使用步骤: 20 * 1、创建simpleDateFormat对象,构造方法中传递指定的格式 21 * 2、调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期 22 * 格式化为符合模式的字符串(文本) 23 * */ 24 private static void demo01() { 25 // 创建simpleDateFormat对象,构造方法中传递指定的格式 26 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd,hh时mm分ss秒"); 27 Date date = new Date(); 28 String d = sdf.format(date); 29 System.out.println(date); 30 System.out.println(d); 31 } 32 }
运行图
2、计算一个人已经出生了多少天
1 package Day21; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 import java.util.Scanner; 7 8 /** 9 * @Classname BirthdayTest 10 * @Description TODO 11 * @Date 2019/5/14 23:37 12 * @Created by Administrator 13 * 练习:使用日期相关api计算一个人已经出生了多少天 14 * 分析:1、使用Scanner类中的方法next,获取出生日期 15 * 2、使用DateFormat类中的方法parse,把字符串的出生日期解析为Date格式的 16 * 3、把date格式的出生日期转换为毫秒值 17 * 4、获取当前时间,转换为毫秒值 18 * 5、使用当前日期的毫秒值-出生日期的毫秒值 19 * 6、将毫秒值转换为天(s/1000/60/60/24) 20 */ 21 public class BirthdayTest { 22 public static void main(String[] args) throws ParseException { 23 // 1、使用Scanner类中的方法next,获取出生日期 24 Scanner sc = new Scanner(System.in); 25 System.out.println("请输入日期,格式:yyyy-MM-dd"); 26 String birthdayDateString = sc.next(); 27 // 2、使用DateFormat类中的方法parse,把字符串的出生日期解析为Date格式的 28 SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd"); 29 Date birthdayDate = sdf.parse(birthdayDateString); 30 // 3、把date格式的出生日期转换为毫秒值 31 long birthdayDateTime = birthdayDate.getTime(); //getTime()将时间转化为毫秒 32 // 4、获取当前时间,转换为毫秒值 33 long todayTime = new Date().getTime(); 34 // 5、使用当前日期的毫秒值-出生日期的毫秒值 35 long time = todayTime - birthdayDateTime; 36 // 6、将毫秒值转换为天(s/1000/60/60/24) 37 System.out.println(time/1000/60/60/24); 38 } 39 }
运行图