3.时间日期类

本文详细介绍了Java中日期和时间的处理,包括Date类的构造和时间设置,SimpleDateFormat用于日期格式化和解析,以及Calendar类的时间分量计算和常用方法。通过实例展示了如何获取和修改日期、时间以及进行日期格式转换。
摘要由CSDN通过智能技术生成

Date类

Java中的时间是用一个固定时间点的毫秒数表示

纪元(epoch):1970年1月1日 00:00:00

1 .构造方法

Date对象封装了当前时间

public static void main(String[] args) {

Date date = new Date();

System.out.println(date);//打印当前时间 //Sat Dec 25 19:18:01 CST 2021

Date date1 = new Date(1000); System.out.println(date1); //Thu Jan 01 08:00:01 CST 1970

}

2.setTime和getTime

public static void main(String[] args) {
 Date date = new Date(); 
 date.setTime(1000 - (8*60*60*1000));
 System.out.println(date); 
 System.out.println(date.getTime()); //案例-打印明天的当前时间 
 Date date1 = new Date(); 
 long time = date1.getTime();//获取当前毫秒数 
 time += 24*60*60*1000; date1.setTime(time); 
 System.out.println(date1); 
}

2.SimpleDateFormat类

格式化和解析日期的类,可以对时间格式化或规范化

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss E");

常用方法

public static void main(String[] args) throws ParseException {
//format 格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss E");
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);//2021-12-25 19:48:11
//解析
String s1 = "2021.5.12";
//参数的字符串格式必须匹配s1的规则
//如果不匹配则会抛出praseException -- 解析异常
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy.MM.dd");
Date date1 = sdf1.parse(s1);
System.out.println(date1);//Wed May 12 00:00:00 CST 2021
}

Calender类

Calender:抽象类,用于时间分量的计算。

GregorianCalendar: 是抽象类Calendar的子类

1.构造方法

GregorianCalendar提供了重载的构造方法

2.计算日期分量

Calendar中提供了很多静态常量,用来描述时间分量

public static void main(String[] args) {
//获取时间分量
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);//12月
calendar.set(Calendar.DATE,20);
System.out.println("时间为:" + calendar.getTime());
//1 一周中的星期几
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周中的第几天
System.out.println(dayOfWeek);//4 星期三
//2 一年的第几天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(dayOfYear);//20
//3.一月中第几周
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
System.out.println(weekOfMonth);//4
//4. 当前月中的第几个星期。
int dayOfWeekInMonth = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);
System.out.println(dayOfWeekInMonth);//3
}

3.常用方法

set(int fields,int amount):设置时间分量

get(int fields,int amount):获取时间分量

getActualMaximum(int fields):返回日历字段可能拥有的最大值

add(int fields,int amount):为指定时间分量加上指定的值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值