JAVA中Date详解

本文介绍了Java中的Date类,包括其构造方法和常用方法,如getTime和setTime。此外,还讲解了SimpleDateFormat类用于日期时间的格式化和解析功能。最后,讨论了Calendar类在日期运算中的作用,以及如何获取和设置日期字段。
摘要由CSDN通过智能技术生成

Date类

构造方法

  • public Date() :分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
  • public Date(long date) :分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。由于中国处于东八区所以时间是从GMT+8开始计算。即从1970年1月1日08:00:00开始计算
Date date = new Date();
System.out.println(date);//输出当前时间
Date date1=new Date(0);
System.out.println(date1);//Thu Jan 01 09:00:00 CST 1970

Date的常用方法

  • public long getTime():输出date对象中的时间与1970年1月1日 08:00:00中的间隔的毫秒数
  • public long setTime(long time):设置毫秒数,自1970年1月1日 08:00:00开始算起
 Date date = new Date(0);
 System.out.println(date);//Thu Jan 01 08:00:00 CST 1970
 System.out.println(date.getTime());//0
 date.setTime(3600000);
 System.out.println(date);//Thu Jan 01 09:00:00 CST 1970

SimpleDateFormat

作用:通过该类可以使Date类和String类来回转换
格式化:按照指定的格式,将Date类转换为String类
解析:按照指定的格式,将String类转换为Date类

构造方法

  • public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。
字母(区分大小写)含义
y
M
d
H
m
s

SimpleDateFormat的常用方法

  • public String format(Date date):将Date对象格式化为字符串。
  • public Date parse(String source):将字符串解析为Date对象。
	SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	Date date = new Date(0);
	//将date格式化为字符串
	String format = simpleDateFormat.format(date);
	System.out.println(format);//1970-01-01 08:00:00
	//注意字符串中日期格式要与new SimpleDateFormat("yyyy-MM-dd HH:ss:mm")中定义的格式一致
	String s="2020-01-01 08:00:00";
	//将字符串解析为Date对象
	Date parse = simpleDateFormat.parse(s);
	System.out.println(parse);//Wed Jan 01 08:00:00 CST 2020

Calendar

-Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,可以使用其子类:GregorianCalendar类。
有以下两种方法创建对象

  • 使用Calendar中的静态方法getInstance去创建对象
  • 使用子类GregorianCalendar去创建对象

Calendar中常见的字段

字段含义
YEAR
MONTH月(注意月份从0开始)
DATE
HOUR时(12小时制)
HOUR_OF_DAY时(24小时制)
MINUTE
SECOND
MILLISECOND毫秒
WEEK_OF_YEAR本年的周数
WEEK_OF_MONTH本月的周数
DAY_OF_YEAR本年的天数
DAY_OF_MONTH本月的天数
DAY_OF_WEEK本周的天数,从星期天开始算起

Calendar中常用方法

方法名说明
public static Calendar getInstance()创建Calendar子类对象
public int get(int field)获取指定字段的值
public void set(int field,int value)设置字段的值
public void add(int field,int amount)为指定字段增加/减少指定的值

举例

public class Main {
    public static void main(String[] args){
        Calendar instance = Calendar.getInstance();
        System.out.println(instance.get(Calendar.YEAR)+"年");
        //月份从0开始算起
        System.out.println(instance.get(Calendar.MONTH)+1+"月");
        System.out.println(instance.get(Calendar.DATE)+"日");
        //12小时制
        System.out.println(instance.get(Calendar.HOUR)+"时");
        System.out.println(instance.get(Calendar.HOUR_OF_DAY)+"时");
        System.out.println(instance.get(Calendar.MINUTE)+"分");
        System.out.println(instance.get(Calendar.SECOND)+"秒");
        System.out.println(instance.get(Calendar.MILLISECOND)+"毫秒");
        System.out.println("==============================");
        System.out.println("本年的第"+instance.get(Calendar.WEEK_OF_YEAR)+"周");
        System.out.println("本月的第"+instance.get(Calendar.WEEK_OF_MONTH)+"周");
        System.out.println("本年的第"+instance.get(Calendar.DAY_OF_YEAR)+"天");
        System.out.println("本月的第"+instance.get(Calendar.DAY_OF_MONTH)+"天");
        //从星期天开始算起
        System.out.println("本周的第"+(instance.get(Calendar.DAY_OF_WEEK)-1)+"天");
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值