人生几何?

26.日期时间:Date,SimpleDateFormat,Ca

2022-02-03  本文已影响0人  每天起床都想摆

日期时间

Date

Date类概述

Date的构造器

名称 说明
public Date() 创建一个Date对象,代表的是系统当前此刻日期时间

Date的常用方法

名称 说明
public long getTime() 获取时间对象的毫秒值

Date类已弃用的有参构造器及方法

构造器 说明
public Date(long time) 把时间毫秒值转换成Date日期对象
Date方法 说明
public void setTime(long time) 设置日期对象的时间为当前时间毫秒值对应的时间

Date类记录时间的2种形式

  1. 形式1:日期对象

    // 创建一个Date类的对象,代表系统此刻日期时间对象
    Date date = new Date();
    System.out.println(date);   // 打印的是内容,说明完成了重写
    
  1. 形式2:时间毫秒值(参照常用API-System-System类的常用方法)

    //用来作性能分析
    long startTime = System.currentTimeMillis(); // 性能分析起始时间
    for (int i = 0; i < 100000; i++) {
    System.out.println(i);
    }
    long endTime = System.currentTimeMillis(); // 性能分析结束时间
    double time = (endTime - startTime) / 1000.0;
    System.out.println("for循环十万次花费:" + time);
    
  2. 测试代码

    package com.java.data_test;
    
    import java.util.Date;
    
    /**
     * 计算当前时间往后走1小时121秒之后时间是多少
     */
    public class DateTransDemo {
    
    
        public static void main(String[] args) {
            long time = System.currentTimeMillis();
             time += (60 * 60 + 121) * 1000;    // 得到当前时间毫秒值
    
            Date date = new Date();
            System.out.println(date);   // 当前时间
    
            // 方法一:把时间毫秒值转换成对应的日期对象
            Date d = new Date(time);
            System.out.println(d);      // 目标未来时间
    
            // 方法二:通过setTime直接将时间毫秒值转换成日期
            Date dt = new Date();
            dt.setTime(time);
            System.out.println(dt);
    
        }
    }
    
    

总结:

  1. 日期对象如何创建,如何获取时间毫秒值

    Date date = new Date();
    Long time = date.getTime();
    
  1. 时间毫秒值怎么恢复成日期对象

    Date date = new Date(time);
    d.setTime(time)
    

SimpleDateFormat

SimpleDateFormat类的作用

SimpleDateFormat的构造器

构造器 说明
public SimpleDateFormat() 构造一个SimpleDateFormat,使用默认格式
public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat,使用指定的格式

SimpleDateFormat的格式化方法

格式化方法 说明
public final String format(Date date) 将日期格式化成日期/时间字符串
public final String format(Object time) 将时间毫秒值格式化成日期/时间字符串

格式化的时间形式的常用的模式对应关系

时间形式 对应模式
y
M(大写)
d
H(大写)
m
s

2022-11-11 13:27:06 ------> yyyy-MM-dd HH:mm:ss

2022年11月11日 13:27:06 ------> yyyy年MM月dd日 HH:mm:ss

EEE 为星期 a 为上下午

SimpleDateFormat解析字符串时间成为日期对象

解析方法 说明
public Date parse(String source) 从给定字符串的开始解析文本以生成日期

解析时一定要使字符串参数的格式和被解析时间字符串的格式保持完全一致

parse返回的是Date型数据,因此需要Date型变量接收

秒杀活动案例

Calendar

Calendar概述

Calendar常用方法

calendar是可变日期对象,一旦修改后其对象本身表示的时间将产生变化

方法名 说明
public int get(int field) 取日期中的某个字段信息
public void set(int field,int value) 修改日历的某个字段信息
public void add(int field,int amount) 为某个字段增加/减少指定的值
public final Date getTime() 拿到此刻日期对象
public long getTimeInMillis() 拿到此刻时间毫秒值
上一篇下一篇

猜你喜欢

热点阅读