Java 常用API :Date类、Calendar类

一、Date类
Java.uitl.Date; //导包
Date类用来表示特定的时间,精确到毫秒

初始化标准基准时间:
1970 年 1 月 1 日 00:00:00 GMT
中国为东八区,要早八个小时
1970 年 1 月 1 日 08:00:00 GMT

System.out.println(System.currentTimeMillis());
//获取当前系统时间到1970经历了多少毫秒

Date常用方法
1、无参构造
2、带参构造
3、long getTime()

import java.util.Date;
public class Date02 {
    public static void main(String[] args) {
        method1();
        method2();
        method3();
    }
    //Date空参构造
    //Date():获取当前日期和时间
    public static void method1(){
       Date date = new Date();
        System.out.println(date);
        //Sat Apr 04 12:57:50 CST 2020  
        //CST是中央标准时间
    }

    //Date带参构造,输入一个参数
    //Date(long Date):获取毫秒,转换为日期和时间
    public static void method2(){
        Date date = new Date(111000L);
        System.out.println(date);
        //Thu Jan 01 08:01:51 CST 1970
    }

    //long getime(),把日期转换为毫秒值,相当于  
    //System.currentTimeMillis()
    //返回自 1970 年 1 月 1 日 00:00:00 GMT 
    //以来此 Date 对象表示的毫秒数。
    public static void method3(){
        Date date = new Date();
        long time = date.getTime();
        System.out.println(time);//当前的毫秒数
    }
}

4、DateFormat
java.text.DateFormat:是日期/时间格式化子类的 抽象类
作用:
格式化(也就是日期 -> 文本)、解析(文本-> 日期)
成员方法:
String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String source) 把符合模式的字符串,解析为Date日期
解析时会有一个异常 throws ParseException

 java.text.SimpleDateFormat extends DateFormat

构造方法:
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
参数:
String pattern:传递指定的模式
模式:区分大小写的
y 年
M 月
d 日
H 时
m 分
s 秒
写对应的模式,会把模式替换为对应的日期和时间
“yyyy-MM-dd HH:mm:ss”
注意:
模式中的字母不能更改,连接模式的符号可以改变
“yyyy年MM月dd日 HH时mm分ss秒”

import java.text.SimpleDateFormat;
import java.text.ParseException;//导入一个异常
import java.util.Date;
public class DateFormat00 {
    public static void main(String[] args) 
    throws ParseException {
        method1();
        method2();
    }

    //格式化   日期——》文本
    //创建一个SimpleDateFormat对象
    public static void method1(){
        SimpleDateFormat day = new SimpleDateFormat("yyyy年 MM月 dd日 hh时 mm分 ss秒");


        //使用format
        Date date = new Date();
        String a = day.format(date);
        System.out.println(date); 
        //Sat Apr 04 17:40:57 CST 2020
        System.out.println(a);     
         //2020年 04月 04日 05时 40分 20秒
    }
    
    //解析 文本-->日期
    //先要创建一个SimpleDateFormat的对象
    public static void method2() throws ParseException {

        SimpleDateFormat mat = = new SimpleDateFormat("yyyy年 MM月 dd日 hh时 mm分 ss秒");

        //使用parse
  Date date1 = mat.parse("2020年 4月 4日 17时 45分 30秒");
    //注意格式一致,包括空格
        System.out.println(date1);
        //Sat Apr 04 17:45:30 CST 2020
    }
}

格式化成文本的关键字:format
解析文本的关键字:parse

二、Calendar类
也叫做日历类
Java.util.Calendar;//导包

1、Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR )

2、Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象

3、static Calendar getInstance() 使用默认时区和语言环境获得一个日历。

//在主方法中创建getInstance静态方法,并输出,会得到一个日历
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);

4、Calendar常用方法
get、set、add、getTime

//get方法
public static void method1(){
    Calendar calendar1 = Calendar.getInstance();
    int year = calendar1.get(Calendar.YEAR);
    System.out.println(year);   //2020

//set方法
public static void method2(){

    Calendar calendar2 = Calendar.getInstance();
    //设置2019年
    calendar2.set(Calendar.YEAR,2019);
    int year = calendar2.get(Calendar.YEAR);
    System.out.println(year);
//使用add方法
public static void method3(){
    Calendar calendar3 = Calendar.getInstance();

    calendar3.add(Calendar.YEAR,+2);
    int year =  calendar3.get(Calendar.YEAR);
	System.out.println(year);  //2021
//getTime
public static void method4(){

    Calendar calendar4 = Calendar.getInstance();

    Date date = calendar4.getTime();
    System.out.println(date);       
    //Sat Apr 04 18:56:52 CST 2020
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值