Java API – Date-SimpleDateFormat-Calendar的常用方法介绍

网络通信

文章目录

maven

日期与时间

Date类

Date类概述

arduino

Date类代表当前所在系统的日期时间信息。

相机追踪

Date的构造器

systemverilog

名称 说明
public Date() 创建一个Date对象,代表的是系统当前此刻日期时间。
public Date(long time) 把时间毫秒值转换成Date日期对象。

Date常用方法

npm配置

名称 说明
getTime() 返回从1970年1月1日 00:00:00走到此刻的总的毫秒数
setTime(long time) 设置日期对象的时间为当前时间毫秒值对应的时间

Date类获取到的时间对象有两种格式:

估计变换模型

时间形式一:日期类表示时间的代码

blender

public class DateDemo {
    public static void main(String[] args) {
        // 创建日期对象
        Date date = new Date();
        System.out.println(date); // Wed Oct 12 16:16:56 CST 2022
    }
}

时间格式二: 事件毫秒值表示时间的代码

钉钉开放平台

public class DateDemo {
    public static void main(String[] args) {
        // 创建日期对象
        Date date = new Date();

        // 获取当前时间的毫秒值
        System.out.println(date.getTime()); // 1665562823334
    }
}

时间毫秒值 -> 日期对象的两种方法

taskAffinity

方式一: 通过Date类的构造器

freertos

public class DateDemo2 {
    public static void main(String[] args) {
        // 获取当前时间的毫秒值
        long time = System.currentTimeMillis();

        // 方式一: 通过构造器根据毫秒值得到日期对象
        Date date1 = new Date(time);
        System.out.println(date1); // Wed Oct 12 16:39:53 CST 2022
    }
}

方式二: 通过setTime方法根据毫秒值获取日期对象

L298N

public class DateDemo2 {
    public static void main(String[] args) {
        // 获取当前时间的毫秒值
        long time = System.currentTimeMillis();
      
        // 方式二: 通过setTime方法根据毫秒值获取日期对象
        Date date2 = new Date();
        date2.setTime(time);
        System.out.println(date2); // Wed Oct 12 16:39:53 CST 2022
    }
}

小结:

mysql 事务总结

日期对象创建的两种方式:

发布安卓包

public Date(); // 创建日期对象

音视频

public long getTime(); // 创建时间毫秒值

索引

时间毫秒值恢复成日期对象的两种方式:

access_token失效

public Date(long time); // 方式一: 通过构造器

神经辐射场

public void setTime(long time); // 方式二: 通过setTime方法

地理信息系统

SimpleDateFormat类

上面我们分别讲解了获取日期对象格式和获取时间毫秒值的两种方式, 但是这两种展示时间的格式都不是我们想要的;

快速排序

在开发中常见的展示时间的格式是类似于下面这样的:

PLL

  • 2022-4-23 08:20:20, 2022/4/23 08:20:20, 2022.4.23 08:20:20, 2022年4月23日 08:20:20

因此我们可以通过SimpleDateFormat类完成日期时间的格式化操作

mongodb

在这里插入图片描述

3D

SimpleDateFormat类的构造器:

哈希

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

SimpleDateFormat类的格式化方法:

版本号详解

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

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

产品经理

在这里插入图片描述

散列集

演示代码:

一致性哈希

格式化日期对象

环境变量配置

public class DateDemo3 {
    public static void main(String[] args) {
        // 获取当前日期对象
        Date date = new Date();

        // 格式化日期对象(指定最终格式化的形式)
        SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");
        String newDate = sf.format(date);
        System.out.println(newDate);
    }
}

格式化时间毫秒值

mock工具

public class DateDemo3 {
    public static void main(String[] args) {
        Date date = new Date();
        // 获取当前日期毫秒值
        long time = date.getTime();

        // 格式化日期对象(指定最终格式化的形式)
        SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE"); // EEE表示星期几
        String newDate = sf.format(time);
        System.out.println(newDate);
    }
}

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

2011-11-11 11:11:22 -> Date日期对象

通过parse方法解析:

需要注意的是: 使用parse方法时编辑器会提醒代码异常, 我们需要alt+回车将异常抛出

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

案例

例如: 将字符串 “2021年08月06日11点11分11秒” 转为日期对象

public class DateDemo4 {
    public static void main(String[] args) throws ParseException {
        String dateStr = "2021年08月06日11点11分11秒";

        // 把字符串时间解析成日期对象
        // 格式必须与被解析时间格式完全一样
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒");
        Date d = sdf.parse(dateStr);
        System.out.println(d); // Fri Aug 06 11:11:11 CST 2021
    }
}

Calendar类

Calendar概述:

Calendar代表了系统此刻日期对应的日历对象。

Calendar是一个抽象类,不能直接创建对象。

Calendar日历类创建日历的方法

方法名 说明
getInstance() 获取当前日历对象
// 获取系统此刻日历对象
Calendar cal = Calendar.getInstance();

直接打印日历对象cal, 会显示日历对象的所有字段

Calendar cal = Calendar.getInstance();
System.out.println(cal);

Calendar常用方法

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

get方法获取日历中某个字段的信息, 可以获取年月日时分秒等等

public class CalendarDemo {
    public static void main(String[] args) {
        // 获取系统此刻日历对象
        Calendar cal = Calendar.getInstance();

        // 获取年月日...
        System.out.println(cal.get(Calendar.YEAR));
        System.out.println(cal.get(Calendar.MONTH + 1));
        System.out.println(cal.get(Calendar.DAY_OF_MONTH)); // 1月中第几天
        System.out.println(cal.get(Calendar.DAY_OF_YEAR)); // 1年中第几天
    }
}

set方法修改日历中的某个字段

public class CalendarDemo {
    public static void main(String[] args) {
        // 获取系统此刻日历对象
        Calendar cal = Calendar.getInstance();

        // 获取年
        System.out.println(cal.get(Calendar.YEAR)); // 2022
        // 修改年
        cal.set(Calendar.YEAR, 2019);
        System.out.println(cal.get(Calendar.YEAR)); // 2019
    }
}

add方法为某个字段增加/减少指定的值

public class CalendarDemo {
    public static void main(String[] args) {
        // 获取系统此刻日历对象
        Calendar cal = Calendar.getInstance();

        // 增加10年
        cal.add(Calendar.YEAR, 10);
        // 增加20分钟
        cal.add(Calendar.MINUTE, 20); 
        System.out.println(cal.get(Calendar.YEAR)); // 2032
        System.out.println(cal.get(Calendar.MINUTE)); // 31
    }
}

getTime方法拿到此刻日期对象。

public static void main(String[] args) {
    // 获取系统此刻日历对象
    Calendar cal = Calendar.getInstance();

    // 获取此刻日期对象
    Date d = cal.getTime();
    System.out.println(d); // Fri Oct 14 16:13:40 CST 2022
}

getTimeInMillis方法拿到此刻时间毫秒值

public static void main(String[] args) {
    // 获取系统此刻日历对象
    Calendar cal = Calendar.getInstance();

    // 获取此刻时间毫秒值
    long time = cal.getTimeInMillis();
    System.out.println(time);
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注