Date
所属的包:java.util
常用的构造方法:
Date date1 = new Date();//使用当前日期和时间来初始化对象。
Date date2 = new Date();//接收一个参数,该参数是从1970年1月1日起的毫秒数。
Date类中的方法
方法 | 描述 |
---|---|
boolean after(Date date) | 若当调用此方法的Date对象在指定日期之后返回true,否则返回false |
boolean before(Date date) | 若当调用此方法的Date对象在指定日期之前返回true,否则返回false |
int compareTo(Date date) | 比较当调用此方法的Date对象和指定日期,两者相等时候返回0;调用对象在指定日期之前则返回负数;调用对象在指定日期之后则返回正数 |
int compareTo(Object obj) | 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException |
boolean equals(Object date) | 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false |
long getTime( ) | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数 |
void setTime(long time) | 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期 |
获取当前日期时间
import java.util.Date;
public class DateDemo{
public static void main(String[] args){
Date date = new Date();
System.our.println(date.toString());//格林威治格式 Fri Jul 10 08:10:39 CST 2020
}
}
DateFormat
所属的包:java.text
一般使用DateFormat的子类SimpleDateFormat来实例化对象
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat ;
public class Test{
public static void main(String args[]) {
Date date = new Date( );
DateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(date);
System.out.println(s);//2020-07-10 08:10:39
}
}
日期和时间的格式化编码
时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:
Calender
我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。
Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。
所属的包:java.util
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。
import java.util.Calendar;
public class Test{
public static void main(String[] args) (
Calendar calendar = Calendar.getInstance();//系统当前时间的calender对象
calendar.set(Calendar.YEAR,2015);
// 获得年份
int year = c1.get(Calendar.YEAR);
// 获得月份
int month = c1.get(Calendar.MONTH) + 1;//这个month是从0开始计算的
// 获得日期
int date = c1.get(Calendar.DATE);
// 获得小时
int hour = c1.get(Calendar.HOUR_OF_DAY);
// 获得分钟
int minute = c1.get(Calendar.MINUTE);
// 获得秒
int second = c1.get(Calendar.SECOND);
// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
int day = c1.get(Calendar.DAY_OF_WEEK);
)
}
Calendar类对象字段类型
TimeZone
所属的包:java.util
一般通过calendar.getTimeZone() 或 TimeZone.getDefault() 来获取
import java.util.TimeZone;
public class Test{
public static void main(String[] args){
Calendar calendar = Calendar.getInstance();
TimeZone tz = calendar.getTimeZone();
//TimeZone tz = TimeZone.getDefault();
System.out.println(tz);
System.out.println(tz.getID());//时区对应的号码-->Asia/Shanghai
System.out.println(tz.getDisplayName());//描述时区的名字-->中国标准时间
}
}