java.util.Date 该类的每个实例用来描述时间(只能描述,不能操作),内部维护了一个long值,记录自1970年到这一刻之间的毫秒差
-
构造方法
产生的date结果形式为:Fri Nov 22 16:28:48 CST 2019
- Date() 该构造器创建出来的对象默认表示当前的系统时间
Date date = new Date() - Date(long time) 创建一个Date对象描述给定毫秒值所表示的时间
Date date = new Date(System.currentTimeMillis())
- Date() 该构造器创建出来的对象默认表示当前的系统时间
-
方法
- long getTime(long time) 获取Date描述的时间距离1970年元旦的毫秒差
date.getTime(time) - void setTime() 使当前Date对象表示给定的毫秒值所描述的时间
date.setTime()打印date结果形式为:Sat Nov 23 16:36:13 CST 2019
- long getTime(long time) 获取Date描述的时间距离1970年元旦的毫秒差
使用一个特殊的字符串来描述一个时间格式,并使用该时间格式作为桥梁,在字符串和时间之间相互转换 Date<->String
-
时间格式字符串中的特殊字符
-
y:表示年 yyyyy:表示4位的年 yy:表示两位的年
-
M:表示月 MM:表示两位数的月
-
d:日 dd:表示两位数的日期
-
h:小时 12小时制
H:小时 24小时制 hh/HH:两位数的小时
-
m:表示分钟 mm:表示两位数的分钟
-
s:表示秒 ss:表示两位数的秒
-
E:表示星期
-
a:表示上下午
-
-
在一个时间格式容器中出现的其他字符按照意愿显示
该类是SimpleDateFormat的父类,可以根据给定的地区,将Date转换为字符串。 不同的地区对应的时间格式字符串是预定义的。 DateFormat类是一个抽象类,不能直接实例化,可以使用其提供的工厂方法:getInstance(style, aLocale) style:打印的时间样式,DateFormat提供了几个平行常量 aLocale:地区 DateFormat df = DateFormat.getInstance(style, cLocal);
用于操作时间的类,是一个抽象类,不能直接实例化。
可以使用其提供的工厂方法:getInstance().
该方法会根据当前系统所在的地区自动判定用哪个子类来实现
Calendar calendar = Calendar.getInstance();
-
Date getTime();
得到一个Date对象 -
void setTime(Date date); 将当前的Calendar对象的时间设置为给定的时间
-
int get(int field) field对应Calendar这个类中若干常量,每个常量表示一个不同的时间单位 例如: Calendar.YEAR,Calendar.MONTH Calendar.DATE(号数)等效于Calendar.DAY_OF_MONTH
-
void set(int field, int value) 设置当前Calendar指定时间分量的值 filed:时间分量 value:要设置的值
例如:将时间设置到2008年 calendar.set(Calendar.YEAR, 2008);
-
void add(int field, int value) 将给定的时间分量累加给定的值 例如:5天后的日期 calendar.add(Calendar.DAY_OF_MONTH, 5);
String -> SimpelDateFormat.parse() -> Date Date -> Calendar.getInstance().setTime() -> Calendar Calendar -> Calendar.getTime() -> Date Date -> SimpleDateFormat.format() -> String