Java常用类学习:日期时间类(date,SimpleDateFormat)
-
(1)Java日期时间:Date类
-
java.util包提供了Date类来封装当前的日期和时间;
-
Date类提供了2个构造函数来实例化Date对象;
-
-
Date构造方法:
//1,构造方法1
Date();//使用当前日期和时间来初始化对象
//2,构造方法2
Date(long millsec);//该方法是从1970年1月1日器的毫秒数
-
Date对象的常用方法:
序号 方法 1 long getTime();//可以用于日期比较,获取long,然后比较Long的值; 2 toString(); 3 long setTime();设置时间
-
代码案例:
public class DateDemo01 {
public static void main(String[] args) {
Date date=new Date();
System.out.println(date);//Wed Mar 09 13:28:45 CST 2022
System.out.println(date.toString());//Wed Mar 09 13:27:25 CST 2022
//返回一个long类型的毫秒数:1646803558132
System.out.println(date.getTime());
}
}
-
日期比较:
-
1,getTime();比较2个日期的毫秒值;
public class DateDemo01 {
public static void main(String[] args) {
Date date=new Date();
long l1=date.getTime();
System.out.println("l1:"+date.getTime());
long l2=4046803970915l;
date.setTime(l2);
System.out.println("l2:"+date.getTime());
System.out.println(date);//Fri Mar 28 08:12:50 CST 2098
//比较结果
System.out.println("比较结果:"+Math.max(l1,l2));
}
} -
-
(2)Java日期时间:SimpleDateFormat类
-
SimpleDateFormat是:格式化和分析日期类;
-
-
-
SimpleDateFormat构造方法:用于创建SimpleDateFormat对象
//1,构造方法:
public SimpleDateFormat(){};//无参构造方法,初始化对象
//2,有参构造方法:String
public SimpleDateFormat(String){};//string为要设置的日期格式:yyyy-MM-dd HH:mm:ss
//3,有参构造方法:String,local
public SimpleDateFormat(String ,local){};//string,local参数的构造方法
//4,有参构造方法:String,simple格式
public SimpleDateFormat(String ,simple){};//string,simple参数的构造方法
-
SimpleDateFormat对象的常用方法:
序号 方法 1 format(Date date); //date-->String ;参数为Date类型;返回类型为String ; 2 parse(String str); //String-->date;参数为String类型,返回类型为Date;
-
代码案例:日期格式及日期转换:date-->Sring ; String -->date
public class DateDemo02 {
public static void main(String[] args) {
//使用SimpleDateFormat来格式化日期:
//允许用户输入日期格式:yyyy-MM-dd HH:mm:ss
Date date=new Date();
//1.1,Date-->String:不指定格式
SimpleDateFormat sdf=new SimpleDateFormat();
String str=null;//用于接收返回的字符串日期
str=sdf.format(date);
System.out.println(str);//22-3-9 下午1:53 //不指定格式,默认格式
//1.2,Date-->String:指定格式
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
str=sdf1.format(date);
System.out.println(str);//2022-03-09 13:55:42
//1.3,Date-->String:指定格式
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");
str=sdf2.format(date);
System.out.println(str);//2022-03-09
//1.4,Date-->String:指定格式
SimpleDateFormat sdf3=new SimpleDateFormat("HH:mm:ss");
str=sdf3.format(date);
System.out.println(str);//13:56:49
//String -->Date:parse参数
//parse();返回日期对象
String str1="2018-09-12";
SimpleDateFormat sdf4=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1=sdf4.parse(str1);
System.out.println(date1);//Wed Sep 12 00:00:00 CST 2018
} catch (ParseException e) {
e.printStackTrace();
}
}
}
-
(3)Java日期时间:Calendar类
-
Calendar类要比Date类强大很多,而且在实现方式上也比Date类要复杂一些;
-
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,只需要使用getInstanceof方法创建即可;
-
-
创建一个Calendar对象:
Calendar c=Calendar.getInstanceof();//默认是当前日期
-
创建一个指定日期的Calendar对象:
-
使用Canlendar类创建指定日期时,首先要先创建Calendar对象,然后再设定该对象中的年月日参数;
//创建一个:2009年6月12日的Calendar对象
Calendar c=Calendar.getInstanceof();
c.set(2009,6-1,12);
-
-
Calendar对象字段类型:
常量 描述 Calendar.YEAR 年份 Calendar.MONTH 月份
-
代码案例:
public class CalendarDemo01 {
public static void main(String[] args) {
//创建Calendar对象
Calendar c=Calendar.getInstance();//默认系统实际
//1.1 获取当前日期
System.out.println(c.getTime());//Wed Mar 09 14:22:05 CST 2022
System.out.println("------------------");
//1.2 获取Canledar类的常量值,返回均为Int类型
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);//月份要+1
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.HOUR_OF_DAY));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
System.out.println("-------------------------");
//1.3 修改日期:add()方法:
//1.3.1 当前日期+10天:
c.add(Calendar.DATE,10);//加10天,是正10;减10天,是-10
System.out.println(c.getTime());//Sat Mar 19 14:40:25 CST 2022
}
}
/*
//Calendar常量:
System.out.println(Calendar.YEAR);
System.out.println(Calendar.MONTH);
System.out.println(Calendar.DATE);
System.out.println(Calendar.DAY_OF_MONTH);
System.out.println(Calendar.HOUR);//12小时制
System.out.println(Calendar.HOUR_OF_DAY);//24小时制
System.out.println(Calendar.MINUTE);
System.out.println(Calendar.SECOND);
System.out.println(Calendar.DAY_OF_WEEK);
*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律