SimpleDateFormat的作用
1:将Date 对象转换为特定格式的字符串 format方法
2:将字符串按照特定格式转换为Date对象 parse方法
package day25; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo07 { public static void main(String[] args) throws ParseException{ String timerStr = "2016-01-13 18:59:01"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = format.parse(timerStr); System.out.println(date); } }
DateFormat类
是SimpleDateFormat的父类,创建实例时只需要调用其提供的一个静态方法getInstance(),不要用new 这个就是之前用过的工厂方法
package day25; import java.text.DateFormat; import java.util.Date; import java.util.Locale; public class Demo08 {//将Date 对象转换为特定格式的字符串 public static void main(String[] args){ Date date = new Date(); DateFormat format = DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA); System.out.println(format.format(date)); } }
Calendar 类
可以方便的进行日期的计算。
获取日期中的信息时考虑了时区等问题
创建实例通常可以使用提供的工厂方法
getInstance() 自动根据当前系统所处地区创建对应时区的实现类
通过Calendar可以方便的设置一个时间
set(int field,int value);
获取Calendar 描述的时间的某个信息
get(int field);
计算时间的方法将给定的时间单位累加给定的值并使当前calendar代表这个时间
add(int field,int value);
package day25; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Demo09 { public static void main(String[] args){ //创建calendar实例 calendar是抽象类 有子类创建 //创建出来的Calendar实例描述的是当前系统时间 //计算时间 Calendar calendar = Calendar.getInstance(); System.out.println(calendar); //格林威治时间 //calendar = new GregorianCalendar(); //中介 Date date = calendar.getTime(); System.out.println(date); //输出的时候使用 SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); String str = fmt.format(date); System.out.println(str); //设置一个时间点 calendar.set(Calendar.YEAR, 1111); calendar.set(Calendar.MONTH,Calendar.NOVEMBER); calendar.set(Calendar.DAY_OF_MONTH,11); System.out.println(calendar.getTime()); calendar.set(Calendar.DAY_OF_MONTH,1111); System.out.println(calendar.getTime()); calendar.set(Calendar.HOUR_OF_DAY, 11); calendar.set(Calendar.MINUTE, 11); calendar.set(Calendar.SECOND, 11); System.out.println(calendar.getTime()); int week = calendar.get(Calendar.DAY_OF_WEEK); System.out.println(week);//国外星期天是第一天 int day = calendar.get(Calendar.DAY_OF_YEAR); System.out.println(day); int sumOfYear = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);//传入的年的最大值 int sumOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(sumOfYear); System.out.println(sumOfMonth); //计算今天是星期几(其他公司不知道,我们公司非常常用用来算星期六和星期天,不开盘) //计算一年中的星期六和星期天生成不开盘时间表(一定的) 在手动加入假期(这个是不定的) } }
package day25; import java.util.Calendar; public class CalendarDemo10 { public static void main(String[] args){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH,1); int week = calendar.get(Calendar.DAY_OF_WEEK); System.out.println("星期"+(week==1?7:week-1)); } }
时间: 2024-12-18 06:52:03