zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java常用类(6)- Date类

2023-02-18 16:23:23 时间

Date

  • Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Canlendar类中的方法所取代
  • 时间单位
    • 1秒=1000毫秒
    • 1毫秒=1000微秒
    • 1微秒=1000纳秒

Canlendar

  • Canlendar提供了获取或设置各种日历字段的方法
  • 构造方法
    • protected Canlendar():由于修饰符是protected,所以无法直接创建对象
  • 其他方法

package commonclass.dateclass;

import java.util.Calendar;
import java.util.Date;

public class Demo01 {
    public static void main(String[] args) {
        //创建Calendar对象,由于是protected,所以使用自带的方法getInstance()进行实例化
        Calendar calendar = Calendar.getInstance();

        //获取年
        int year = calendar.get(Calendar.YEAR);

        //获取月0-11,0代表1月,11代表12月,一般加1代表当前月份
        int month = calendar.get(Calendar.MONTH);

        //获取日
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        //获取时
        int hour = calendar.get(Calendar.HOUR_OF_DAY);//hour12小时,houro_of_day24小时

        //获取分
        int minute = calendar.get(Calendar.MINUTE);

        //获取秒
        int second = calendar.get(Calendar.SECOND);
        System.out.println("当前时间为:"+year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");

        //修改时间
        Calendar calendar1 = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH,5);
        System.out.println(calendar1.getTime().toLocaleString());

    }
}

SimpleDateFormat

  • SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类
  • 进行格式化(日期 ---> 文本 )、解析(文本 ---> 日期)
  • 常用的时间模式字母

package commonclass.dateclass;

import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo02 {
    public static void main(String[] args)  throws Exception{
        //1. 创建SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        System.out.println(sdf);//输出:java.text.SimpleDateFormat@129110e0
        //2.创建Date
        Date date = new Date();

        //把日期转成字符串:格式化Date,使用format方法
        String str = sdf.format(date);
        System.out.println(str);//输出:2021/10/12 10:57:10

        //把字符串转换成日期:使用parse方法
        Date date1 = sdf.parse("2021/10/12 10:53:19");//需要转换的字符串格式必须和sdf一致,即实例化时定义的时间格式
        System.out.println(date1);//输出:Tue Oct 12 10:53:19 CST 2021
    }
}