JAVA 日期类
Date 类概述和构造方法
Date类代表了一个特定的时间,以毫秒的精度
方法名 | 说明 |
---|---|
public Date ( ) | 分配一个Date对象,并初始化,以便代表它分配的时间,精确到毫秒 |
public Date (long date) | 分配一个Date对象,并将其初始化,并将其初始化为表示从标准基准时间起指定的毫秒数 |
public class DateDemo01 {
public static void main(String[] args) {
//public Date ( )分配一个Date对象,并初始化,以便代表它分配的时间,精确到毫秒
Date d1 = new Date();
System.out.println(d1);
//public Date (long date)分配一个Date对象,并将其初始化,并将其初始化为表示从标准基准时间起指定的毫秒数
long date = 1000 * 60 * 60;
Date d2 = new Date(date);
System.out.println(d2);
}
}
Date 类的常用方法
方法名 | 说明 |
---|---|
public long getTime ( ) | 获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值 |
public void setTime (long time) | 设置时间,给的是毫秒值 |
public class DateDemo02 {
public static void main(String[] args) {
//创建日期对象
Date d = new Date();
//public long getTime ( )获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值
System.out.println(d.getTime());
System.out.println("------------------------------------------------");
System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年");
System.out.println("------------------------------------------------");
//public void setTime (long time)设置时间,给的是毫秒值
// long time = 1000*60*60;
long time = System.currentTimeMillis();
d.setTime(time);
System.out.println(d);
}
}
SimpleDateFormat 类概述
SimpleDateFormat 是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
重点学习 日期格式和解析
日期和实际格式由日期和实际模式字符串指定,在日期和时间模式字符串中,从 ‘ A ’ 到 ‘ Z ’ 以及从 ‘ a ’ 到 ‘ z ’ 引号的字母被解释为表示日期或时间字符串的组件的模式字母
常用的模式字母以及对应关系如下:
- y 年
- M 月
- d 日
- H 时
- m 分
- s 秒
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
// 1.格式化(从 Date 到 String)
Date d = new Date();
// SimpleDateFormat sdf = new SimpleDateFormat();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);
System.out.println("----------------------------------------");
// 2.解析(从 String 到 Date)
String ss = "2020-12-08 12:12:12";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(ss);
System.out.println(dd);
}
}
Calendar 类概述
Calendar 为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Galendar 提供了一个类方法 getInstance 用于获取 Calendar 对象,其日历字段已使用当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance ( );
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//获取对象
Calendar c = Calendar.getInstance(); //多态的形式
// System.out.println(c);
//public int get (int field)
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" +month+"月"+date+"日");
}
}
Calendar 的常用方法
方法名 | 说明 |
---|---|
public int get ( int field ) | 返回给定日历字段的值 |
public abstract void add ( int field, int amount ) | 根据日历的规则,将指定的时间量添加或减去给定的日历字段 |
public final void set ( int year, int month, int date ) | 设置当前日历的年月日 |