2021-10-11日期类

目录

Date类

构造方法

常用方法

SimpleDateFormat类

SimpleDateFormat 格式化和解析日期

Calender类

常用方法

案例:二月天


Date类

java.util.Date

学的是在java.utli.包下的那个Date类

在java.lang.和java.sql.包下也有Date类。

Date类表示了一个特定的时间,以毫秒的精度。

构造方法

1、创建一个当前时间的Date对象

//创建一个代表系统当前日期的Date对象

  Date d = new Date();

2、创建一个我们指定的时间的Date对象:

使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。

//创建一个代表2014年6月12号的Date对象

Date d1 = new Date(2014-1900, 6-1, 12); (注意参数的设置)

常用方法

boolean after(Date when)        测试此日期是否在指定日期之后。

boolean before(Date when)        测试此日期是否在指定日期之前。

int compareTo(Date anotherDate)        比较两个日期的顺序。

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

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

SimpleDateFormat类

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。我们重点学习日期格式化和解析

日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从‘A’到‘Z”以及从‘a’
到‘Z’引号的字母被解释为表示日期或时间字符串的组件的模式字母

常用的模式字母及对应关系如下:
y         年
M         月
d         日
H         时
m         分
S         秒

SimpleDateFormat 格式化和解析日期

  1. 格式化(从Date到String)
    1. public final String format(Date date): 将日期格式化成日期/时间字符串
  2. 解析(从String到Date)
    1. public Date parse(String source): 从给定字符串的开始解析文本以生成日期
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class SimpleDateFormatDemo {
		public static void main(String[] args) throws ParseException {
			//格式化:从 Date 到 String
			Date d = new Date();
			//SimpleDateFormat sdf = new SimpleDateFormat();
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
			String s = sdf.format(d);
			System.out.println(s);
			System.out.println("---------");
			
					//从String到Date
					String ss="2048-08-09 11:11:11";
					//ParseException
					SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
					Date dd = sdf2.parse(ss);
					System.out.println(dd);
		}
}

 输出为:(CST是中国标准时间)

2021年10月11日13:29:01
---------
Sun Aug 09 11:11:11 CST 2048

Calender类

Calendar是一个抽象类,主要用来操作日历时间字段。在Java.util.Calendar包中.

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

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

常用方法

其中set,get,add常用。

关于Calendar用法的一些总结icon-default.png?t=L892https://blog.csdn.net/tiantangdizhibuxiang/article/details/77429346

 

案例:二月天

需求:获取任意一年的二月有多少天
思路
①键盘录入任意的年份
②设置日历对象的年、月、日
        年:来自于键盘录入
        月:设置为3月,月份是从0开始的,所以设置的值是2
        日:设置为1日
③3月1日往前推一天,就是2月的最后一天
④获取这一天输出即可

答案

import java.util.Calendar;
import java.util.Scanner;


public class CalendarTest{
public static void main(String[] args) {
//键盘录入任意的年份
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
//设置日历对象的年、月、日
Calendar c = Calendar.getInstance();
c.set(year,2, 1);
//3月1日往前推一天,就是2月的最后一天
c.add(Calendar.DATE,-1);
//获取这一天输出即可
int date = c.get(Calendar.DATE);
System.out.println(year + "年的2月份有" + date + "天");
}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值