一、构造方法
-
java.util
包提供了Date
类来封装当前的日期和时间。Date
类提供两个构造函数来实例化Date
对象。 -
第一个构造函数使用当前日期和时间来初始化对象。
Date date = new Date() // 例如 // public Date() 分配一个 Date 对象,并初始化,以便它代表它被分配的时间,精确到毫秒 Date date1 = new Date(); System.out.println(date1); // Wed Jul 21 16:43:39 CST 2021,当前时间
-
第二个构造函数接收一个参数,该参数是从
1970年1月1日 00:00:00 GMT
起的指定毫秒数。Date date = Date(long date) 例如: // public Date(long date): 分配一个 Date 对象, 并将其初始化为表示从标准基准时间起指定的毫秒数 long date = 1000 * 60 * 60; // 1 小时毫秒值 Date date2 = new Date(0); Date date3 = new Date(date); System.out.println(date2); // Thu Jan 01 08:00:00 CST 1970,存在 8 小时时区问题 System.out.println(date3); // Thu Jan 01 09:00:00 CST 1970,存在 8 小时时区问题
二、常用方法
-
使用案例
// 创建日期对象 Date date = new Date(); // 当前时间 System.out.println(date); // public long getTime(): 获取的是日期对象从 1970年1月1日 00:00:00 到现在的毫秒值 System.out.println(date.getTime()); // public long setTime(): 设置时间,给的是毫秒值 // long time = System.currentTimeMillis(); // 获取从 1970年1月1日 00:00:00 到现在的毫秒值 long time = 1000 * 60 * 60; // 1 小时毫秒值 date.setTime(time); // 从 1970年1月1日 00:00:00 开始增加1小时 System.out.println(date); // Thu Jan 01 09:00:00 CST 1970,存在 8 小时时区问题
三、SimpleDateFormat 的使用
四、简单案例
-
DateUtils.java
import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class DateUtils { // 将日期转成指定日期格式 public static String dateToString(java.util.Date date, String format) { SimpleDateFormat form = new SimpleDateFormat(format); return form.format(date); } // 将日期转成指定日期格式 public static Date stringToDate(String date, String format) throws ParseException { SimpleDateFormat form = new SimpleDateFormat(format); return form.parse(date); } }
-
main.java
import java.text.ParseException; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { // 创建日期对象 Date date = new Date(); // 当前 Date 转成字符串 String str = DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss"); // 时间字符串转成 Date (throws ParseException) Date date1 = DateUtils.stringToDate(str, "yyyy-MM-dd HH:mm:ss"); // 输出 System.out.println(str); // 2021-07-22 10:35:50 System.out.println(date1); // Thu Jul 22 10:35:50 CST 2021 } }