java之Date类及SimpleDateFormat类
1 public class Demo6_Date { 2 3 /* 4 * A: 类Date表示特定的瞬间,精确到毫秒 5 * B:构造方法 6 * public Date() 无参时代表当前时间 7 * public Date(long date) 传入参数时代表获取特定时间的 8 * C:成员方法 9 * public long getTime() 获取时间的毫秒值,类似于System.currentTimeMillis() 10 * public void setTime(long time) 11 * 12 */ 13 public static void main(String[] args) { 14 //demo1(); 15 Date d = new Date(); 16 System.out.println(d.getTime()); //1529382803822 17 System.out.println(System.currentTimeMillis()); //1529382803822 18 19 } 20 21 public static void demo1() { 22 Date d1 = new Date(); 23 System.out.println(d1); //Tue Jun 19 12:29:27 CST 2018 24 Date d2 = new Date(0); 25 System.out.println(d2); //Thu Jan 01 08:00:00 CST 1970 构造传入参数为0时,返回的是1970年1月1日,之所以是8点,是因为我们的北京市东八区 26 } 27 }
1 public class Demo7_SimpleDateFormat { 2 3 /* 4 * 其父类是DateFormat 是一个抽象类 5 * B:构造方法 6 * public SimpleDateFormat() 7 * public SimpleDateFormat(String pattern) pattern - 描述日期和时间格式的模式 8 * C:成员方法 9 * public final String format(Date date) 将给定的Date格式化成日期时间字符串 10 * public Date parse(String source) 解析字符串文本,生成Date对象 11 */ 12 public static void main(String[] args) throws ParseException { 13 14 //demo1(); 15 //demo2(); 16 String s = "2017年06月06日 06:06:06"; 17 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 18 Date d = sdf.parse(s); 19 System.out.println(d); //Tue Jun 06 06:06:06 CST 2017 20 } 21 22 public static void demo2() { 23 Date d = new Date(); //获取当前时间 24 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //创建日期格式化类对象 25 System.out.println(sdf.format(d)); //对字符串日期进行格式化 2017年06月06日 13:24:30 26 } 27 28 public static void demo1() { 29 Date d = new Date(); //获取当前时间 30 SimpleDateFormat sdf = new SimpleDateFormat(); //创建日期格式化类对象 31 System.out.println(sdf.format(d)); //对字符串日期进行格式化 17-6-6 下午1:17 32 } 33 34 }
1 /* 2 * 获取当前时间你出生了多少天 3 * 1.先将当前日期和你的生日都存入String类型的字符串中 4 * 2.对两个字符串进行格式化成Date对象 5 * 3.获取两个对象的毫秒差 6 * 4.换算毫秒差总共有多少天 除以(1000*60*60*24) 7 */ 8 public static void main(String[] args) throws ParseException { 9 10 String today = "2017年06月06日"; 11 String birthday = "1998年06月06日"; 12 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); 13 Date d1 = sdf.parse(today); 14 Date d2 = sdf.parse(birthday); 15 System.out.println(d1.getTime() - d2.getTime()); 16 long time = d1.getTime() - d2.getTime(); 17 System.out.println(time / 1000 / 60 / 60 / 24); 18 }