Date类的概述
java.util,Date 表示日期和时间的类
类 Date 表示特定的瞬间,精确到千分之一秒(毫秒)
获取时间原点到当前系统时间经历了多少秒
// 时间原点:1970 年 01 月 01 日 00:00:00 public class DemoDate { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); } }
Date类常用的构造方法和成员方法
成员方法
getTime()方法
返回:时间原点以来,此Date对象表示的毫秒数
import java.util.Date; public class DemoGetTime { public static void main(String[] args) { Date date = new Date(); long time = date.getTime(); // 输出:1578728202850 // 该方法类似于 System.currentTimeMillis() System.out.println(time); } }
构造方法
Date类的无参构造方法
返回:当前系统的日期和时间
import java.util.Date; public class DemoDate1 { public static void main(String[] args) { Date date = new Date(); // 输出:Sat Jan 11 15:40:50 CST 2020 System.out.println(date); } }
Date类的带参构造方法
Date(long date) 参数为一个毫秒值,把传入的毫秒值转换为Date日期
返回:传入参数(毫秒值)对应的的日期和时间
import java.util.Date; public class DemoDate2 { public static void main(String[] args) { Date date = new Date(0L); // 这里输出的是0毫秒时的日期和时间,即时间原点的日期和时间 // 输出:Thu Jan 01 08:00:00 CST 1970 System.out.println(date); } }
DateFormat抽象类和SimpleDateFormat实现类
说明:
/** * java.text.DateFormat: * 是日期/时间格式化子类的抽象类 * 作用: * 格式化(也就是日期->文本)、解析(文本->日期) * 成员方法: * string format( Datedate)按照指定的模式,把Date日期,格式化为符合模式的字符串 * Date parse( string source)把符合模式的字符串,解析为Dote日期 * DateFormat类是一个抽象类,无法直接创建对象使用, * 可以使用 DateFormat类的子类java.text.SimpleDateFormat extends DateFormat * * 构造方法: * SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat * 参数: * string pattern:传递指定的模式 * 模式: * 区分大小写的 * y 年 * M 月 * d 日 * H 时 * m 分 * s 秒 * 注意: * 写对应的模式,会把模式替换为对应的时间和日期 * 如:"yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒" * */
测试
DateFormat类的format方法
输出指定格式的日期、时间
import java.text.SimpleDateFormat; import java.util.Date; public class Demo01FormatMethod { public static void main(String[] args) { // 创建SimpleDateFormat对象,在SimpleDateFormat(String pattern)构造方法中传入指定的模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒"); // 调用DateFormat的实现类SimpleDateFormat中的format方法, // 按照构造方法中指定的模式,把Date解析为符合模式的字符串(文本) Date date = new Date(); String dateFormat = simpleDateFormat.format(date); // Sat Jan 11 16:24:43 CST 2020 System.out.println(date); // 2020 年 01 月 11 日 16 时 24 分 43 秒 System.out.println(dateFormat); } }
DateFormat类的parse方法
把符合构造方法中模式的字符串,解析为Date日期
/** * DateFormat类中的parse方法,把文本解析为日期 * 使用步骤: * 1,创建 SimpleDateFormat对象,构造方法中传递指定的模式 * 2.调用 SimpleDateFormat对象中的 parse方法,把符合SimpleDateFormat(String pattern)构造方法中模式的字符串,解析为Date日期 * 注意: * public Date parse(String source) throws ParseException * parse方法声明了ー个异常叫 ParseException * 如果字符串和构造方法的模式不ー样,那么程序就会抛出此异常 * 调用一个出了异常的方法,就必须的处理这个异常, * 要么 throws 继续批出这个昇常,要么 try catch自己处理 */
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo01ParseMethod { public static void main(String[] args) throws ParseException { // 创建SimpleDateFormat对象,在SimpleDateFormat(String pattern)构造方法中传入指定的模式 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒"); // 调用 SimpleDateFormat对象中的 parse方法,把符合构SimpleDateFormat(String pattern)造方法中模式的字符串,解析为Date日期 Date dateParse = simpleDateFormat.parse("2020 年 01 月 11 日 16 时 24 分 43 秒"); // Sat Jan 11 16:24:43 CST 2020 System.out.println(dateParse); } }