【java】日期类 Date类 与 SimpleDateFormat类 与 Calendar类

本文详细介绍了Java中的Date类、SimpleDateFormat类和Calendar类的使用。Date类用于表示特定时间,提供了获取和设置毫秒值的方法。SimpleDateFormat类用于日期和时间的格式化与解析,通过模式字符串定义格式。Calendar类作为抽象类,提供了日期字段的获取、添加和设置等操作。
摘要由CSDN通过智能技术生成

Date类 java.util.Date

代表了一个特定的时间,以毫秒为精度

构造方法

public Date()  分配一个Date对象,并初始化,以便代表它被分配的时间,精确到毫秒

public Date(long date)  分配一个Date对象,并将其初始化为从标准基准时间起指定的毫秒数     (1970年一月一日起)

Date类常用方法

public long getTime()  获取日期对象从1970年1月1日00:00:00到现在的毫秒值

public void setTime(long time)  设置时间,给的是毫秒值(注意时差)

实例如下

import java.util.Date;

public class Ddate {

	public static void main(String[] args) {

		Date d=new Date();//Date d=new Date(20000);
	    System.out.println(d.getTime());
	    d.setTime(3600);
	    System.out.println(d.getTime());	

	}

}

SimpleDateFormat类 java.text.SimpleDateFormat

用于以区域设置敏感的方式格式化和解析日期的具体类

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从'A''Z'以及从'a''z'未加引号的字母被解释为表示日期或时间字符串的组成部分的模式字母。 

常用模式字母及对应关系如下
y
M
d
H
m
s

 构造方法

public SimpleDateFormat()  构造一个 SimpleDateFormat使用默认模式和日期格式符号默认设置。

public SimpleDateFormat(String pattern)   构造一个SimpleDateFormat使用给定的模式和默认的   日期格式符号设置。

SimpleDateFormat的格式化与解析日期

格式化(Date->String) public final String format(Date date)  将日期格式化为日期/时间字符串

解析(String->Date)public Date parse(String sourse)  从给定字符串的开始解析文本以生成日期

实例如下 

package API;

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

public class Simpledateformat {

	public static void main(String[] args) throws ParseException {
		//parse()过时 抛出异常throws ParseException
		
		SimpleDateFormat sim=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(sim);//java.text.SimpleDateFormat@ca92313f
		Date d=new Date();
		String s=sim.format(d);//Date->String
		System.out.println(s);//2022年03月30日 03:23:27
		String ss="2003-03-28 00:00:00";
		
		//SimpleDateFormat simp=new SimpleDateFormat("yyyy MM dd HH:mm:ss");
		/*Exception in thread "main" java.text.ParseException: Unparseable date: "2003-03-28 00:00:00"
	      at java.base/java.text.DateFormat.parse(DateFormat.java:396)
	      at API.Simpledateformat.main(Simpledateformat.java:22)
         */
		//格式错误,yyyy MM dd HH:mm:ss与2003-03-28 00:00:00格式不对应
		
		SimpleDateFormat simp=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date dd=simp.parse(ss);
		System.out.println(simp);//java.text.SimpleDateFormat@4f76f1a0
		//若直接打印SimpleDateFormat对象只会得到地址值,所以需要格式化与解码
		System.out.println(dd);//Fri Mar 28 00:00:00 CST 2003


	}

}

Calendar类 java.util.Calendar

public abstract class Calendar 抽象类,不能直接实例化。为在某一特定时刻和一段日历字段的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化;  如下

Calendar 对象名=Calendar.getInstance();//多态的形式

Calender的常用方法

public​​​​​​​ int get(int field)  返回给定日历字段的值

public abstract void add(int filed,int amout)根据日历的规则,将指定时间量添加或减去给定的日历字段

public final void set(int year,int mouth,int date)设置当前日历的年月日​​​​​​​

​​​​​​​Calendar字段汇总 JDK11

变量和类型 字段 描述
static int ALL_STYLES

getDisplayNames的样式说明符,指示所有样式中的名称,例如“January”和“Jan”。

static int
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛酸菜吃鸭子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值