Date
java.util.Date Date的每一个实例用于表示一个具体的时间点,内部维护一个long值,表示的是自1970年1月1日00:00:00到当前Date表示的时间之间经过的毫秒 由于Date存在时区等问题,导致大部分操作时间的方法都被声明为过时的,开发时不再建议使用。因此我们现在仅使用Date表示一个时间
Date date = new Date ( ) ;
System. out. println ( date) ;
long time = date. getTime ( ) ;
System. out. println ( time) ;
date. setTime ( 0 ) ;
System. out. println ( date) ;
SimpleDateFormat
java.text.SimpleDateFormat 可以按照指定的日期格式在Date与String之间相互转换 String format(Date date)将给定的Date对象按照SimpleDateFormat指定的日期格式转换为字符串 Date parse(String str) 将给定的字符串按照SDF指定的日期格式解析为Date对象。 若给定的字符串与SDF指定的日期格式不匹配时会抛出解析异常
Date date = new Date ( ) ;
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy年MM月dd日 E a H:m:ss" ) ;
String dateString = sdf. format ( date) ;
System. out. println ( dateString) ;
String str = "2019年01月30日" ;
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy年MM月dd日" ) ;
Date date = sdf. parse ( str) ;
System. out. println ( date) ;
Calendar
java.util.Calendar 日历类 Calendar是一个抽象类,定义了操作时间的一系列方法。常用实现类:GregorianCalendar,即:阳历 Calendar提供了静态方法getInstance,可以根据当前系统所在地区获取一个适用的实现类实例,大部分获取的都是阳历 void setTime(Date date)调整Calendar表示给定的Date对象所表示的日期 获取日。与天相关的时间分量 DAY_OF_MONTH:月中的天 DATE: 月中的天 DAY_OF_WEEK:周中的天 DAY_IF_YEAR:年中的天
Calendar calendar = Calendar. getInstance ( ) ;
int year = calendar. get ( Calendar. YEAR) ;
int month = calendar. get ( Calendar. MONTH) + 1 ;
int day = calendar. get ( Calendar. DATE) ;
System. out. println ( year+ "-" + month+ "-" + day) ;
int h = calendar. get ( Calendar. HOUR_OF_DAY) ;
int m = calendar. get ( Calendar. MINUTE) ;
int s = calendar. get ( Calendar. SECOND) ;
System. out. println ( h+ ":" + m+ ":" + s) ;
int days = calendar. get ( Calendar. DAY_OF_YEAR) ;
System. out. println ( "今天是今年的第" + days+ "天" ) ;
int week = calendar. get ( Calendar. DAY_OF_WEEK) - 1 ;
String[ ] str = { "日" , "一" , "二" , "三" , "四" , "五" , "六" } ;
System. out. println ( "今天是周" + str[ week] ) ;
days = calendar. getActualMaximum ( Calendar. DAY_OF_YEAR) ;
System. out. println ( "今年共" + days+ "天" ) ;
days = calendar. getActualMaximum ( Calendar. DAY_OF_MONTH) ;
System. out. println ( "本月共" + days+ "天" ) ;
void set(int field,int value)调整当前Calendar指定时间为给定的值
Calendar calendar = Calendar. getInstance ( ) ;
calendar. set ( Calendar. YEAR, 2100 ) ;
calendar. set ( Calendar. MONTH, 7 ) ;
calendar. set ( Calendar. DATE, 20 ) ;
calendar. set ( Calendar. HOUR, 16 ) ;
calendar. set ( Calendar. AM_PM, 2 ) ;
calendar. set ( Calendar. MINUTE, 8 ) ;
calendar. set ( Calendar. SECOND, 8 ) ;
System. out. println ( calendar. getTime ( ) ) ;
void add(int field,int amount)对指定时间分量加上给定的值,若给定的值为负数则是减去
Calendar calendar = Calendar. getInstance ( ) ;
calendar. add ( Calendar. YEAR, 3 ) ;
calendar. add ( Calendar. MONTH, 2 ) ;
calendar. add ( Calendar. DAY_OF_YEAR, 25 ) ;
System. out. println ( calendar. getTime ( ) ) ;
calendar. set ( Calendar. DAY_OF_WEEK, 6 ) ;
System. out. println ( calendar. getTime ( ) ) ;