Java中的有关日期的对象
目录
- Date
- SimpleDateFormat
Calendar
- 常用方法
- Java8中用于计算时差的类
1. Period(以年月日来表示日期差)
- 2. Duration(以秒与毫秒来表示时间差)
Date之间的各种转换
- 1、Date格式化然后转String
- 2、Date转Datetime
- 3、String转换为Date
- 4、String转换为java.sql.Date
Date
- Java中Date有两种,一种是java.util.Date另一种是java.sql.Date,sql这个Date是util的Date的子类,sql一般用在Dao持久层
- 我们讨论util下的Date
- 构造函数:
- 常用的有Date() 和 Date(long date)
- getTime():获取时间的毫秒值,从1970年开始计算
- before()、after() 和 equals():比较日期
SimpleDateFormat
- 日期格式化
- 构造函数:SimpleDateFormat(pattern: "yyyy-MM-dd")
- 常用的方法(格式化的结果都是按照构造方法中设置的格式化模式):
- format(Date date):将Date日期转换为字符串
- parse(String date):将字符串格式化为Date日期,字符串的格式要和pattern对应,否则抛出ParseException异常
Calendar
- 日历类,Calendar为抽象类,由于Calendar的敏感性,需要通过静态方法创建:Calendar c = Calendar.getInstance()
常用方法
- get(int field)
- get方法用来获取指定字段的值
- Calendar.YEAR(获取年)、Calendar.MONTH(获取月) ...
- Calendar的月份为0-11对应1-12月、星期是从周天开始计算的
- set(int field, int value)
- set方法用来设置指定字段的值
- value值要是转换过后的值,比如现在是10月,你要设置10月的话就得先减去1得到就,将value设置为9就是设置月份为10月
- add(int field, int amount)
- add方法可以对指定日历字段的值进行加减操作,如果第二个参数为正数则加上偏移量,如果为负数则减去偏移量。
- getTime()
- Calendar中的getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象
Java8中用于计算时差的类
1. Period(以年月日来表示日期差)
- 利用Period的静态方法between,将两个LocalDate进行计算
- 在通过调用类的方法getYears()、getMonths())、getDays()来获取具体的差值
2. Duration(以秒与毫秒来表示时间差)
Date之间的各种转换
1、Date格式化然后转String
Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd");
String format = simpleDateFormat.format(date);
System.out.println(format);
输出:
2020-10-16
2、Date转Datetime
Date date = new Date();long time = date.getTime();
Timestamp timestamp = new Timestamp(time);
System.out.println(timestamp);
输出:
2020-10-16 12:28:03.169
3、String转换为Date
String d = "2020-10-16";SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd");
Date date = null;
try {
date = simpleDateFormat.parse(d);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
输出:
Fri Oct 16 00:00:00 CST 2020
4、String转换为java.sql.Date
String d = "2020-10-16";SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date date = null;
try {
Date parse = simpleDateFormat.parse(d);
date = new java.sql.Date(parse.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
输出:
2020-10-16
以上是 Java中的有关日期的对象 的全部内容, 来源链接: utcz.com/z/391733.html