Date
1.概念
java.util.Date类用于封装日期及时间信息。Date类的大多数用于进行时间分量计算的方法都已经被标明为过时,都已经被Calendar取代,因此Date仅用于表示时间。
2.API
- long getTime()
返回从1970.1.1 00:00:00到现在所经历的毫秒事件数
- void setTime()
设置给的毫秒时间的日期。
SimpleDateFormat
1.概念
使用SimpleDateFormat将Date转换为给定格式的字符串。该类位于:java.text包中
2.API
- String format(Date date)
将Date转换为给定格式的日期字符串。
Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(date)); 结果: 2019-7-22 15:38:02
- Date parse(String source)
将给定格式的日期字符串转换为Date。注意:若日期字符串与指定的日期格式不匹配,将发生ParseException异常
String dateStr = "2019-07-22"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try{ Date date = sdf.parse(dateStr); }catch(ParseException e){ e.printstack(); }
3.常用格式字符串
y 代表年
例如:yyyy->2019; yy->19
M 代表月
例如:MM->07;M->7
d 代表天
例如:dd->22;d->22
H 代表小时(24小时制)
例如:HH->15:00:00
h 代表小时(12小时制)
例如:ahh->下午13:00:00
m 代表分钟 s 代表秒 SS 代表毫秒
例如:SS->029
E 代表星期
例如:E->星期一
a 代表上午或者下午
Calendar
1.概念
Calendar类是一个抽象类,位于 java.util包中,用于封装日历信息,其主要作用在于可以对时间分量进行运算。
其使用频繁的子类为:GregorianCalendar
2.使用
获取Calendar对象两种方式如下所示:
方式一:使用new获取Calendar对象 Calendar cal = new GregorianCalendar(); 方式二:通常使用Calendar的静态方法获取Calendar对象 //getInstance()方法会根据系统处于的地域信息返回对应地域的Calendar类的实现 Calendar cal = Calendar.getInstance();
3.API
- 设置时间信息
void java.util.Calendar.set(int field, int value) 设置时间
filed为常量值,比如:Calendar.YEAR,Calendar.MONTH等
value为对应的值,注意月份从下标0开始
void java.util.Calendar.setTime(Date date) 设置时间
- 获取时间信息
Date java.util.Calendar.getTime() 返回Date日期对象
- 获取实际天数
1.int java.util.Calendar.getActualMaximum(int field) 如:calendar.getActualMaximum(Calendar.DAY_OF_MONTH)
日期字符串、毫秒、日期、日历之间可以互相转换。