首页 > 编程语言 > Java常用类之日期操作类

Java常用类之日期操作类

时间:2022-09-01 21:24:23浏览次数:64  
标签:常用 Java int System println 日期 Date Calendar out

日期操作类

在Java中对日期的操作类常用的有以下4种:

  1. Date类

  2. Calendar类

  3. DateFormat类

  4. SimpleDateFormat类

一起来了解一下各个类如何使用的吧!!!

 

一、Date类

1、Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已被Calendar类中的方法所取代。2、时间单位:

1秒=1000毫秒
1毫秒=1000微秒
1微秒=1000纳秒

3、在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:

  • 年份 y 由整数 y - 1900 表示。

  • 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。

  • 日期(一月中的某天)按通常方式由整数 1 至 31 表示。

  • 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。

  • 分钟按通常方式由 0 至 59 的整数表示。

  • 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定

常用方法

方法描述
boolean after(Date when) 测试此日期是否在指定日期之后。
boolean before(Date when) 测试日期是否在指定日期之前
int compareTo(Date anotherDate) 比较两个日期的顺序。如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
public long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

 

实例

package lesson2;

import java.util.Date;

public class Demo06 {
public static void main(String[] args) {
Date date1 = new Date();
//打印出今天的时间
System.out.println("=====打印出今天的时间======");
System.out.println(date1.toString());
System.out.println(date1.toLocaleString());
System.out.println("=====打印出昨天的时间======");
Date date2 = new Date(date1.getTime() - (60 * 60 * 24 * 1000));
System.out.println(date2);

//方法 after和before
boolean b1 = date1.after(date2);
System.out.println(b1);

boolean b2 = date1.before(date2);
System.out.println(b2);

//比较 compareTo()
int d = date2.compareTo(date1);
System.out.println(d);

//比较 equals()
boolean b3 = date1.equals(date2);
System.out.println(b3);
}
}

 

 

 

 

 

 

 

二、Calendar类

1、Calendar提供了获取或设置各种日历字段的方法。

2、这个类本身是一个抽象类,可以依靠对象的多态性,通过子类进行父类的实例化操作。

3、由于修饰符为protected,所以也无法创建对象。但Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:


Calendar rightNow = Calendar.getInstance();

 


常用方法

 

方法描述
static Calendar getInstance() 使用默认时区和区域获取日历
public final void set(int year,int month, int date, int hourOfDay,int minute,int second) 设置年、月、日、时、分、秒。
public int get(int field) 返回指定字段的值。字段如年、月、日等
void setTime(Date date) 使用给定的 Date 设置此 Calendar 的时间。
Date getTime() 返回一个表示此 Calendar 时间值的 Date 对象。
void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间
long getTimeMillies() 以毫秒为单位返回该日历的时间值

 

Calendar类中的常量

 

常量描述
public static final int YEAR 取得年
public static final int MONTH 取得月
public static final int DAY_OF_MONTH 取得日
public static final int HOUR_OF_DAY 取得小时,24小时制
public static final int MINUTE 取得分
public static final int SECOND 取得秒
public static final int MILLISECOND 取得毫秒

 

实例

 

 

package lesson2;

import java.util.Calendar;

public class Demo07 {
public static void main(String[] args) {
//1、创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
//打印毫秒值
System.out.println(calendar.getTimeInMillis());

//2、获取时间信息
//获取年
int year = calendar.get(Calendar.YEAR);
//获取月 0-11
int month = calendar.get(Calendar.MONTH);
//获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);//Date
//小时
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//分钟
int minute = calendar.get(Calendar.MINUTE);
//秒
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);

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

//4、add方法修改时间
calendar2.add(Calendar.HOUR,1);
//calendar2.add(Calendar.HOUR,-1);//减少一小时
System.out.println(calendar2.getTime().toLocaleString());

//5、补充方法
calendar2.add(Calendar.MONTH,5);
int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println(max);
System.out.println(min);
}
}


 

 

 

 

 

三、SimpleDateFormat类

如果要得到用户自己需要的日期显示格式,则必须通过DateFormat的子类SimpleDateFormat类。

 

方法描述
public Date parse(String source)throws ParseException 将一个包含日期的字符串变为Date类型
public final String format(Date date) 将一个Date类型按照指定格式变为String类型

 

实例

 

package lesson2;

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

public class Demo08 {
public static void main(String[] args) throws Exception{
//1、创建SimpleDateFormat对象 y:年 M:月

// 或者SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
//2、创建Date
Date date = new Date();
//格式化date(把日期转为字符串)
String str=sdf.format(date);
System.out.println(str);

//解析(把字符串转为时间)
Date date2 = sdf.parse("1990/05/01");//此处有异常,需要抛出
System.out.println(date2);
}
}

 

 

标签:常用,Java,int,System,println,日期,Date,Calendar,out
From: https://www.cnblogs.com/zypdbk/p/16647838.html

相关文章

  • 2.Mybatis-常用sql
    1.Mybatis常用select语句<selectid="getRolesByParam"parameterType="java.util.HashMap"resultType="com.serlyf.system.entity.Role">SELECTsr.ROLE_IDAS......
  • 3.MySQL常用知识
    1,基础查询//1.groupby+聚合函数+HAVING条件过滤SELECTSEX,AVG(AGE)FROM`user`GROUPBYSEXHAVINGSEX='女'2,DCL语句1,创建用户,当前主机访问CREATEuser'ser......
  • 异常java.sql.SQLException: Before start of result set
    使用rs.getString();前一定要加上rs.next();原因:ResultSet对象代表SQL语句执行的结果集,维护指向其当前数据行的光标。每调用一次next()方法,光标向下移动一行。最初它位于......
  • 【Java基础】类的成员之二:方法(函数)
    1.方法表示类或对象具有的功能,也称为函数,定义在类中2.方法的执行过程方法被调用一次就会执行一次,方法中只能调用方法或属性,不能在方法内部定义方法。3.return关键字......
  • java中的语法糖
    Java语法糖语法糖(SyntacticSugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin(彼得·兰丁)发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有......
  • 正则表达式在Java中的使用
    正则表达式在Java中的使用不仅限于String类中的match()方法!!!正则中的^与$首先我们来了解这两个符号在正则表达式中的作用:^符号放在表达式头部表示开始匹配$符号放......
  • 常用知识整理
    本文持续更新。裴蜀定理:若\(a,b\)为不全为\(0\)的整数,存在整数\(x,y\),使\(ax+by=\gcd(a,b)\)。推论1(多元):若\(a_1,a_2,...,a_m\)为不全为\(0\)的整数,存在整......
  • absible笔记第一章 (ansibles基础与playbook常用模块)
    一、ansibles基础与playbook     1.优先级问题            ANSIBLE_CONFIG            ansible.cfg ......
  • 【学习底层原理系列】Java底层-synchronized锁-3轻量级锁篇
     一.上一篇回顾1.偏向锁中的批量撤销和批量重偏向2.偏向锁发生了竞争,锁就要升级二.轻量级锁拆解1.加锁流程构建LockRecord,将LockRecord的obj指向当前锁对象,然后将无......
  • 【Java基础】类的结构之一:属性(变量)
    1.成员变量与局部变量二者的区别成员变量局部变量声明的位置直接声明在类中方法形参或内部、代码块内、构造器内等修饰符private、public、static、fin......