欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JDK1.7及之前日期时间相关类:Date类、SimpleDateFormat类、Calender类

程序员文章站 2022-03-10 18:23:50
代码中引入其他包文件的两种方式import 后整个文件可用当引入不同包下的相同名字的类时,不能用import(或只能用import引入一个)带有删除线的方法:过期的或即将过期的方法时间日期和字符串的类型转换Calender运用set方法时,月份是从0~11,表示12个月份......

一、代码中引入其他包文件的两种方式

  • 1、import引入 ,整个文件可用。
import java.util.Date;
  • 2、定义变量时在变量类型前加上包名。
java.sql.Date date1 = new java.sql.Date(System.currentTimeMillis());

两种方法的比较:
当引入不同包下的相同名字的类时,只能用import引入一个,另一个需要按照方式2引入。(因为JDk1.7之前util包和sql包都含有Date类,引入是会有冲突)

二、时间的输出

代码示例:

public void f1() {
		Date date = new Date();
		System.out.println(date);
		System.out.println(date.toLocaleString());
	}

结果:

Wed Dec 23 10:49:22 CST 2020
2020-12-23 10:49:22

直接输出Date类的对象显示格式是欧美类型的时间,调用toLocalString()方法输出的是“yyyy-mm-day hh:mm:ss”类型的时间。

  • toLocaleString() 带有删除线的方法:过期的或即将过期的方法。

三、SimpleDateFormat类

3.1 SimpleDateFormat类对象的初始化

SimpleDateFormat fmt1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

3.2 format()方法

public final String format(Date date);
将当前时间格式转换为指定格式

代码示例:

public void f11() {
		Date date = new Date();
		SimpleDateFormat fmt1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

		String date1 = fmt1.format(date);
		System.out.println(date1);
	}

结果:

2020-12-23 13:41:43

3.3 parse()方法

public Date parse(String source) throws ParseException{}
把String型的字符串转换成特定格式的date类型

代码示例:

public void f11() throws ParseException {
		SimpleDateFormat fmt1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		
		String s1 = new String("2020-12-23 13:51:63");
		Date date2 = fmt1.parse(s1);
		System.out.println(date2);		
	}

结果:

Wed Dec 23 13:52:03 CST 2020

parse方法中传进的字符串参数格式必须和SimpleDateFormat变量定义时的一致。

四、Calendar类

运用set方法时,月份是从0~11,表示12个月份

4.1 实例化(官方标准)

Calendar cal = Calendar.getInstance();

4.2 获取时间、毫秒数

public void test() {
		Calendar cal = Calendar.getInstance();
		Date date =  cal.getTime();
		long l = cal.getTimeInMillis();
		System.out.println(date);
		System.out.println(l);
	}

结果:

Wed Dec 30 15:11:55 CST 2020
1609312315948

4.3 设定时间

代码示例:

cal.set(2020,1,1,17,0,0);
		System.out.println(cal.getTime().toLocaleString());

结果:

2020-2-1 17:00:00

Calendar中月份是0~11,对应12个月。

4.4 Calendar类区别于Date:可以获取时间单位

cal.set(2020,1,1,17,0,0);
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));

结果:

1
2020
1

五、时间格式的字符串比较

运用compareTo()方法比较:相同时返回0,前面时间比后边时间大时返回1,前面时间比后边时间小时返回-1.

代码示例:

String s0 = "2020-12-30 17:00:01";
		String s1 = "2020-12-30 17:00:01";
		String s2 = "2020-12-30 18:00:01";
		System.out.println(s1.compareTo(s0));
		System.out.println(s1.compareTo(s2));

结果:

0
-1

本文地址:https://blog.csdn.net/weixin_43879167/article/details/111521005

相关标签: java