java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数数来实例化 Date 对象。
1、使用当前日期和时间来初始化对象。
Date()
2、接收一个参数,该参数是从1970年1月1日起的毫秒数。
Date(long millisec)
获取当前日期时间
使用 Date 对象的 toString() 方法来打印当前日期和时间,如下所示:
import java.util.Date; // 导入Date类
public class DateDemo {
public static void main(String[] args){
// 初始化Date对象
Date date = new Date();
// 使用toString()函数显示日期时间
System.out.println(date.toString());
}
}
输出:
Sun Apr 12 20:41:26 CST 2020
使用 SimpleDateFormat 格式化日期
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。
SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。
例如:
import java.util.Date; // 导入Date类
public class DateDemo {
public static void main(String[] args){
// 初始化Date对象
Date date = new Date();
// 声明一个SimpleDateFormat对象,并指定格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 输出时间
System.out.println("当前时间为:"+ sdf.format(date));
}
}
输出:
当前时间为:2020-04-12 08:47:50
这一句:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
有的格式大写,有的格式小写,例如 MM 是月份(月份一定要大写),mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
日期和时间的格式化编码
时间模式字符串用来指定时间格式。
定义如下:
使用printf格式化日期
printf 方法使用两个字母格式,它以 %t 开头并且以下面表格中的一个字母结尾。
实例:
import java.util.Date; // 导入Date类
public class DateDemo {
public static void main(String[] args){
// 初始化Date对象
Date date = new Date();
// c的使用
System.out.printf("全部日期和时间信息:%tc%n", date);
// F的使用
System.out.printf("年-月-日格式:%tF%n", date);
// D的使用
System.out.printf("月/日/年格式:%tD%n",date);
// r的使用
System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
// T的使用
System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
// R的使用
System.out.printf("HH:MM格式(24时制):%tR",date);
}
}
输出:
全部日期和时间信息:周日 4月 12 21:01:49 CST 2020
年-月-日格式:2020-04-12
月/日/年格式:04/12/20
HH:MM:SS PM格式(12时制):09:01:49 下午
HH:MM:SS格式(24时制):21:01:49
HH:MM格式(24时制):21:01
Java 休眠(sleep)
Thread.sleep()
方法可以让当前线程进入停滞状态。
实例:
import java.util.Date;
public class SleepDemo {
public static void main(String[] args){
try {
System.out.println(new Date());
Thread.sleep(1000*3); // 休眠3秒
System.out.println(new Date());
}
catch (Exception e){
System.out.println("Got an exception!");
}
}
}
输出:
Sun Apr 12 21:17:52 CST 2020
Sun Apr 12 21:17:55 CST 2020
Calendar类
使用Calendar 类可以设置和获取日期数据的特定部分。
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法
创建即可。
创建一个代表系统当前日期的Calendar对象:
Calendar c = Calendar.getInstance();//默认是当前日期
Calendar类对象字段类型
Calendar类对象信息的set设置
如:
Calendar c1 = Calendar.getInstance();
c1.set(2020, 4, 12);//把Calendar对象c1的年月日分别设这为:2020、4、12
2、利用字段类型设置
c1.set(Calendar.DATE,10); // 把 c1对象代表的日期设置为10号
c1.set(Calendar.YEAR,2008); // 把c1对象代表的年份设置为2019年
Calendar类对象信息的add设置
c1.add(Calendar.DATE, 10); // 把c1对象的日期加上10
c1.add(Calendar.DATE, -10); // 把c1对象的日期减去10
每天学习一点点,每天进步一点点。