Date日期类,SimpleDateFormat、calendar的使用

一.Date日期类

1.认识Date日期类

Date类直接new进行时间设置时,其year字段是从1900年开始,month字段是从0开始,例如new Date(1998,5,5),最终得年份为 1900+1998,月份为6月,与预期的结果相悖;可使用system.currentTimeMills()获取当前时间毫秒值,使用构造方法Date(long time),来创建date对象;

2.创建对象

Date date = new Date(); 当前时间对象

Date date = new Date(时间对象) ; 具体某个时间点的对象

3.主要方法

getTime(); 将指定的时间转为时间戳

setTime() ; 将指定的时间戳转为时间

before(); 判断当前时间是否早于指定时间

after() ; 判断当前时间是否晚于指定时间

代码示例:

public class Demo03 {
    public static void main(String[] args) {
        //日期在开发中常用来储存 生日,下单时间,付款时间,审批时间等
        //类 Date 表示特定的瞬间,精确的毫秒
        Date date1 = new Date();  //获取当前基于环境的时间
        System.out.println(date1);
 
        long time = date1.getTime();
        System.out.println(time);
 
        Date date2 = new Date(6000);
        System.out.println(date2);
    }
}

二.SimpleDateFormat

1.认识SimpleDateFormat

SampleDateFormat:格式和解析日期的类,允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化

SimpleDateFormat:对 Date 数据使用预定义的字符串进行格式转换。

yyyy:年 , MM:月  ,dd: 日 , HH: 小时  ,mm: 分钟 , ss: 秒。

2.创建对象

SimpleDateFormat sdf = new SimpleDateFormat(“模板样式”);

样式例如: yyyy-MM-dd HH:mm:ss

3.主要方法

format(); 将date对象格式化为对应的模板的样式

parse(); 将格式化的模板对象, 解析为date对象, 注意解析时的模板必须与创建对象时的模板一致;

代码示例:

public class Demo04 {
    public static void main(String[] args) throws ParseException {
       //SimpleDateFormat 用来实现 日期 和 字符串 之间的相互转换
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date date1 = new Date();
 
        //把 日期 转换成指定格式的 字符串
        String format = sdf.format(date1);
        System.out.println(format);
 
        //把指定格式的 字符串 转换成 日期
        String time = "2022/12/02 17:00:32";
        Date date2 = sdf.parse(time);
        System.out.println(date2);
    }
}

三.calendar

1.认识calendar

Calendar 抽象类, 主要是对日历中的一些方法使用, 日期的计算 , 判断时间的。

2.创建对象

Calendar cal = Calendar.getInstance();

3.主要方法

int get(int field) 通过指定的字段获得对应的值 -> 获得当前的年月日…

set(int field,int value) 给指定的字段设置值,注意把新值覆盖之前的这个字段值,会自动的进位

add(int field,int amount) 这个方法和set差不多,但是把amount的值累加到当前设置的字段原有的值之上

setTime(Date d) 可以直接把一个Date设置进去

Date getTime() 可以获得日历对象中的当前日期对象

代码示例:

public class Demo06 {
    public static void main(String[] args) {
        //Calendar 类是一个抽象类,可以通过Calendar 的 getInstance 的方法返回一个Calendar 对象
        Calendar calendar = Calendar.getInstance();
        Date date1 = calendar.getTime();//获取当前系统的时间
        System.out.println(date1);
 
        Long timeInMillis = calendar.getTimeInMillis();
        System.out.println("当前的毫秒值:"+timeInMillis);
 
        TimeZone timeZone = calendar.getTimeZone();
        System.out.println("时区:"+timeZone);
 
        //get方法可以根据 指定的日历字段 获取时间对应的值
        int year = calendar.get(Calendar.YEAR);
        System.out.println("年份:"+year);
        int month = calendar.get(Calendar.MONTH);
        System.out.println("月份:"+(month+1));//0-11表示 1-12月
        int date = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println("日期:"+date);
        int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
        System.out.println("本年的第:"+dayOfYear);
 
        //可以获取 指定时间 月份0-11 表示1-12月
        calendar.set(2003, 1, 27,11,07,32);
        Date date2 = calendar.getTime();
        System.out.println(date2);
    }
}

猜你喜欢

转载自blog.csdn.net/AMYCX/article/details/128192525