目录
Date
构造器、常用的方法
用法示例
SimpleDateFormat
构造器、格式化时间的方法
时间格式的常见符号
用法示例
解析字符串时间成为日期对象
接下来会学习JDK8以前传统的日期、时间,以及JDK8开始新增的日期、时间;有部分项目还是有在使用JDK8以下的日期和时间的,所以我们仍然要去了解和学习它们。
先开始学习Date日期类
Date
- 代表的是日期和时间。
构造器、常用的方法
构造器 | 说明 |
---|---|
public Date() | 创建一个Date对象,代表的是系统当前此刻日期时间。 |
public Date(long time) | 把时间毫秒值转换成Date日期对象。 |
常见方法 | 说明 |
---|---|
public long getTime() | 返回从1970年1月1日00:00:00走到此刻的总的毫秒数 |
public void setTime(longtime) | 设置日期对象的时间为当前时间毫秒值对应的时间 |
用法示例
public class Test {
public static void main(String[] args) {
//1.创建一个Date的对象,代表系统当前时间信息
Date d = new Date();
System.out.println(d);
//2.拿到时间毫秒值
long time = d.getTime();
System.out.println(time);
//3.把时间毫秒值转换成日期对象,并且输出2s之后的时间是多少
time += 2 * 1000;
Date d2 = new Date(time);
System.out.println(d2);
//4.直接把日期对象通过setTime方法进行修改
Date d3 = new Date();
d3.setTime(time);
System.out.println(d3);
}
}
运行结果:
接下来再来学习关于日期时间的另一个类:SimpleDateFormat
为什么要用SimpleDataFormat?
是为了将Date类的对象以我们指定的格式输出,更加人性化。
SimpleDateFormat
- 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式。
构造器、格式化时间的方法
常见构造器 | 说明 |
---|---|
public SimpleDateFormat(String pattern) | 创建简单日期格式化对象,并封装时间的格式 |
格式化时间的方法 | 说明 |
---|---|
public final String format(Date date) | 将日期格式化成日期/时间字符串 |
public final String format(Object time) | 将时间毫秒值式化成日期/时间字符串 |
在使用它们之前,我们要先了解时间格式的常见符号:
时间格式的常见符号
符号 | 意义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
EEE | 星期几 |
a | 上午/下午 |
用法示例
public class Test {
public static void main(String[] args) { System.out.println(d3);
//1.准备一些时间
System.out.println("格式化之前:");
Date d = new Date();
System.out.println(d); //日期对象
long time = d.getTime();
System.out.println(time); //时间毫秒值
System.out.println();
//2.格式化日期对象和时间毫秒值
System.out.println("格式化后:");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
String rs1 = sdf.format(d);
String rs2 = sdf.format(time);
System.out.println(rs1);
System.out.println(rs2);
}
}
运行结果:
解析字符串时间成为日期对象
解析方法 | 说明 |
---|---|
public Date parse(String source) | 把字符串时间解析成日期对象 |
public class Test {
public static void main(String[] args) throws ParseException {
//1.创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序会bug
String dateStr = "2020-12-12 12:12:11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(dateStr); //这里会抛出“异常”报错,它是担心你写的格式与所给时间的格式不相符
System.out.println(d);
}
}
运行结果:
END
学习自:黑马程序员——JavaSE课程