java---日期类汇总

java中常用的日期类有Date,SimpleDateFormat,Calendar这三种,现在分别对三个类的日常使用进行大概的总结:

1.Date类

1.1 基本介绍

一般常用的事Java.util.Date包下的Date类,在java.sql.Date包下也有一个Date类,sql包下的Date类主要用于和数据库打交道,其内容只包括日期,没有时间,util包下的Date类用于平常日期使用,其内容包括日期和时间。Date类表示系统特定的时间戳,可以精确到毫秒。Date类中的大部分方法都过时了,或者被Calendar类中的方法所取代。

1.2 构造方法

Date类有两个构造方法,Date对象表示时间的默认顺序是 星期,月,日,小时,分,秒,年

  • 无参构造方法Date():此种形式表示分配一个Date对象,并初始化,以便他代表被分配的时间,精确到毫秒,使用该构造方法创建的对象可以获取本地的当前时间。
  • 带参数的构造方法Date(long date):此种形式表示分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数(也就是从GMT(格林尼治时间)时间1970年1月1日0时0分0秒开始经过参数date指定的毫秒数

源码:

private transient long fastTime;

public Date() {
    this(System.currentTimeMillis());
}

public Date(long date) {
        fastTime = date;
}

import java.util.Date;

Date date = new Date();
System.out.println(date);
//输出结果:
Fri Aug 11 14:32:19 CST 2023

long date=3*24*60*60*1000;//1秒=1000毫秒,该时间为一天24小时
Date d2=new Date(date);
System.out.println(d2);//输出从GMT基准时间过了3天后的时间
//输出:Sun Jan 04 08:00:00 CST 1970(中央标准时间)

 1.3常用方法

  • boolean after(Date date):判断调用此方法的Date对象是否在指定日期之后
  • boolean before(Date date):判断调用此方法的Date对象是否在指定日期之前
  • int compareTo(Date date):比较调用此方法的Date对象与指定的日期,两者相等时返回0,调用对象在指定对象日期之前返回负数,反之返回正数
  • boolean equals(Object date):当调用此方法的Date对象与指定日期相等时,返回true,否则返回false
  • long getTime():返回自1970年1月1日0时0分0秒以来,此Date对象表示的毫秒数
  • String toString():获取当前日期和时间并用一下形式的输出:“ dow mon dd hh:mm:ss zzz yyy”,dow:一周中的某一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat)

2.Calendar类

Calendar cal=Calendar.getInstance();//使用日历类
String year=String.valueOf(cal.get(Calendar.YEAR));//得到年
String month=String.valueOf(cal.get(Calendar.MONTH)+1);//得到月,因为从0开始的,所以要加1
String day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH));//得到天
String hour=String.valueOf(cal.get(Calendar.HOUR));//得到小时--12小时
String hour2=String.valueOf(cal.get(Calendar.HOUR_OF_DAY));//得到小时-24小时
String minute=String.valueOf(cal.get(Calendar.MINUTE));//得到分钟
String second=String.valueOf(cal.get(Calendar.SECOND));//得到秒

//结果输出

//year:2023
//month:8
//day:11
//hour:2
//hour:14
//minute:5
//second:12

2.字符串转日期

Date abc = new SimpleDateFormat("yyyy-MM-dd").parse("2014-05-01");

3.Calendar与Date的转换


// Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
// Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);

你可能感兴趣的:(java,开发语言)