java日期详解
一:java中的时间
java中的时间使用标准类库的Date类表示,java.util.Date类封装日期及时间信息。
例如:
public class DateTest { public static void main(String[] args) { Date date = new Date(); //系统当前日期及时间信息 System.out.println(date); //Wed Aug 14 10:42:06 CST 2019 long time = date.getTime(); //获取1970年1月1日至今的毫秒数,返回为long类型值 System.out.println(time); date.setTime(1665750615841L); //为Date对象设置其需要表示的时间,参数为一个long值,表示1970年1月1日至所表示时间的毫秒数 System.out.println(date); } }
二:Date重写toString()方法
Date重写了toString方法,用一个不太友好的字符串来表示时间
形如:Wed Aug 14 10:45:54 CST 2019
三:日期的格式化
1:SimpleDateFormat用于格式化日期,实现Date(日期)和String(字符串)之间的相互转换。
2:日期模式匹配字符串
3:Date格式转化为字符串(String format(Date d))
例如:
public class DateGsh { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); String d = sdf.format(date); System.out.println(d); //2019年08月14日 } }
4:字符串转化为Date类型(Date parse(String str))
例如:
public class DateGshStr { public static void main(String[] args) throws ParseException { String str = "2019年9月1日"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); //匹配格式应与定义字符串格式相匹配,SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss")与str格式不匹配,报错 Date date = sdf.parse(str); System.out.println(date); } }
四:Calendar类
1:java.util.Calendar类用于封装日历信息。
2:Calendar是抽象类,其提供的工厂方法Calendar getInstance()用于实例化Calender对象。
3:使用void set(int field,int value)方法设置时间分量,其中field表示Calendar常量。
例如:
public class CalenderTest { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //创建Calendar实例,表示系统当前时间 calendar.set(Calendar.YEAR, 2019); //设置年份为2019年 calendar.set(Calendar.MONTH,8); //设置月份为8月 } }
4:使用int get(int field)方法获取时间分量,其中field表示Calendar常量
例如:
public class CalendarGetTest { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //创建Calendar实例 int year = calendar.get(Calendar.YEAR); //获取年份值 System.out.println(year); } }
5:使用int getActualMaximum(int field)方法获取时间分量允许的最大值。
6:使用void add(int field,int amount)方法对某个时间分量进行计算,amount为正表示增加,为负表示减少,且时间分量可以进位。
7:使用void setTime(Date date)方法为Calendar设置Date对象所表示的时间。
8:使用Date getTime()方法来获取calendar所表示的时间。
例如:
public class CalendarToDate { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); //使用Date getTime()方法获取Calendar表示的Date对象 System.out.println(date); } }