1. Date
(1) Date代表的是日期和时间
(2) 常见构造器和常用方法
构造器 | 说明 |
public Date() | 创建一个Date对象,代表系统当前日期和时间 |
public Date(long time) | 根据传入的时间毫秒值创建一个Date对象 |
方法 | 说明 |
public long getTime() | 返回从1970.1.1 00:00:00到此时的毫秒数 |
public void setTime(long time) | 设置日期对象的时间为传入的时间毫秒值对应的时间 |
public static void main(String[] args) {//Date//public Date() 创建一个Date对象,代表系统当前日期和时间Date date = new Date();System.out.println(date);//public long getTime() 返回从1970.1.1 00:00:00到此时的毫秒数long time = date.getTime();System.out.println(time);//public Date(long time) 根据传入的时间毫秒值创建一个Date对象Date date1 = new Date(time + 1000);System.out.println(date1);//public void setTime(long time) 设置日期对象的时间为传入的时间毫秒值对应的时间Date date2 = new Date();date2.setTime(time);System.out.println(date2);}
2. SimpleDateFormat
(1) SimpleDateFormat 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成功我们想要的格式。
(2) SimpleDateFormat常用构造器和方法
常用构造器 | 说明 |
public SimpleDateFormat(String pattern) | 创建简单日期格式化对象,并封装时间的格式 |
常用方法 | 说明 |
public final String format(Date date) | 将日期格式化成日期/时间字符串 |
public final String format(Object time) | 将时间毫秒值格式化成日期/时间字符串 |
时间格式:
public static void main(String[] args) {//SimpleDateFormatDate date = new Date();System.out.println(date);long time = date.getTime();System.out.println(time);//格式化日期时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(date));System.out.println(sdf.format(time));
}
(3) 时间格式常见的符号
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
EEE | 星期几 |
a | shangwu |
(4) SimpleDateFormat把字符串解析成日期对象
public Date parse(String source) 把字符串解析成日期对象
public static void main(String[] args) throws ParseException {// public Date parse(String source) 把字符串解析成日期对象 throws ParseException 程序单选格式不一样String dateStr ="2024-12-19 12:00:00";//创建简单日期格式对象,指定的时间格式必须与被解析的时间格式一致,否则会出bug SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date1 = simpleDateFormat.parse(dateStr);System.out.println(date1);
}
3. Calendar
(1) Calendar 代表的是系统此刻时间对应的日历;通过他可以单独获取/修改时间中的年、月、日、时、分、秒等;
(2) Calendar是一个抽象类;可以通过Calendar rightNow = Calendar.getInstance();来获取当前日历对象
(3) Calendar常用的方法
常用方法 | 说明 |
public static Calendar getInstance() | 获取当前日历对象 |
public int get(int field) | 获取日历中的某个信息 |
public final Date getTime() | 获取日期对象 |
public long getTimeInMillis() | 获取时间毫秒值 |
public void set(int field, int value) | 修改日历的某个信息 |
public abstract void add(int field, int amount) | 为某个信息增加/减少指定的值 |
public static void main(String[] args) {//Calendar//public static Calendar getInstance() 获取当前日历对象Calendar cal = Calendar.getInstance();System.out.println(cal);//public int get(int field) 获取日历中的某个信息System.out.println(cal.get(Calendar.YEAR));//年System.out.println(cal.get(Calendar.MONTH) + 1);//月 从0开始System.out.println(cal.get(Calendar.DAY_OF_MONTH));//日//public final Date getTime() 获取日期对象Date date = cal.getTime();System.out.println(date);//public long getTimeInMillis() 获取时间毫秒值long time = cal.getTimeInMillis();System.out.println(time);//public void set(int field, int value) 修改日历的某个信息cal.set(Calendar.YEAR, 2030);//修改年cal.set(Calendar.MONTH, 9);//修改月cal.set(Calendar.DAY_OF_MONTH, 6);//修改日//public abstract void add(int field, int amount) 为某个信息增加/减少指定的值cal.add(Calendar.YEAR, -5);//当前年份-5cal.add(Calendar.MONTH, 3);//当前月份+3cal.add(Calendar.DAY_OF_MONTH, +2);//当前日+2
}
(4) Calendar 是可变对象,一旦修改后其对象本身表示的时间将发生变化