泉州专业网站建设哪家好,郑州网站建设咨询,天津企业如何建网站,.name后缀的网站文章目录 1. Date类1.1 简介1.2 构造方法1.3 主要方法 2. DateFormat 类2.1 简介2.2 实例化方式一#xff1a;通过静态方法的调用2.2 实例化方式二#xff1a;通过创建子类对象 3. Calendar类4. GregorianCalendar 1. Date类
1.1 简介
java.util.Date:表示指定的时间信息通过静态方法的调用2.2 实例化方式二通过创建子类对象 3. Calendar类4. GregorianCalendar 1. Date类
1.1 简介
java.util.Date:表示指定的时间信息不支持国际化
现在这个类的许多方法已经过时一旦进入到多线程处理时Date类就会出现许多问题所以很多时候我们不太使用这个类但是我们还是简单学习了解一下。 从上图中我们可以看到Date类中的许多方法已经被弃用下面我们来学习一下常见的方法。
1.2 构造方法
new Date():当前系统日期和时间new Date(long):给定日期和时间 Date datenew Date();System.out.println(date);System.out.println(date.toLocaleString());System.out.println(date.toString());运行结果
可以看到date和date.toString()输出结果是一样的但是这种日期格式不是很好看。后面会详细学习其他日期解析格式方法。
1.3 主要方法 after(Date):判断当前日期对象是否在给定日期对象之后 before(Date):判断当前日期对象是否在给定日期对象之前 equals(Object):判断两个日期是否相等 compareTo(Date):比较两个日期的顺序如果当前日期对象大于给定的日期对象返回正数如果小于给定的日期对象返回负数如果等于给定的日期对象返回零。
Date datenew Date();//系统当前时间
Date date1new Date(System.currentTimeMillis()-2000);//2秒之前的时间
Date date2new Date(System.currentTimeMillis()-2000);//2秒之前的时间
//before
boolean before date.before(date1);
System.out.println(before);//false
//after
boolean after date.after(date1);
System.out.println(after);//true
//compareTo
int i date1.compareTo(date2);
System.out.println(i);//0
int i1 date.compareTo(date1);
System.out.println(i1);//1
int i2 date1.compareTo(date);
System.out.println(i2);//-1
//equals
boolean equals date1.equals(date2);
System.out.println(equals);//true2. DateFormat 类
2.1 简介
DateFormat 类是对日期类进行格式化和解析DateFormat 类本身是一个抽象类 DateFormat 类实例化的方式 一种是通过静态方法的调用一种是通过创建子类对象
2.2 实例化方式一通过静态方法的调用
通过静态方法的调用处理的是长日期和长时间类型 getDateInstance()只显示日期如2022年9月1日 getTimeInstance()只显示时间如12:40:53 getDateTimeInstance()日期和时间都显示 Date datenew Date();DateFormat fDateFormat.getDateInstance();String s f.format(date);System.out.println(s s);//s 2023年12月2日fDateFormat.getTimeInstance();String s1 f.format(date);System.out.println(s1 s1);//s1 下午2:05:22fDateFormat.getDateTimeInstance();String s2 f.format(date);System.out.println(s2 s2);//s2 2023年12月2日 下午2:05:222.2 实例化方式二通过创建子类对象
SimpleDateFormat类继承自DateFormat类。 创建SimpleDateFormat对象处理的是短日期如2022/9/1和短时间如12:40类型
我们可以自定义解析的格式
字母日期或时间元素y年M月份d月份中的天数E星期中的天数H小时数24小时制h小时数12小时制m分钟数s秒数aAm/Pm 上午/下午标记S毫秒数
//创建子类对象Date datenew Date();SimpleDateFormat sfnew SimpleDateFormat(yyyy-MM-dd);String s sf.format(date);System.out.println(s s);//s 2023-12-02sfnew SimpleDateFormat(yyyy-MM-dd hh:mm:ss);String s1 sf.format(date);System.out.println(s1 s1);//s1 2023-12-02 02:09:59sfnew SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String s2 sf.format(date);System.out.println(s2 s2);//s2 2023-12-02 14:09:59方法 format(Date):将Date类型格式化成字符串parse(String):将字符串解析成Date类型 String str1999-12-12;Date datenew SimpleDateFormat(yyyy-MM-dd).parse(str);System.out.println(date date);//date Sun Dec 12 00:00:00 CST 1999扩展一下我们电脑中的日期类型 3. Calendar类
这个类的使用频率比Date高。
Calendar是一个抽象类 Calendar获取年、月、日、星期等方法 //获取实例对象
Calendar calendarCalendar.getInstance();
//获取年份 月份 日期
int year calendar.get(Calendar.YEAR);
System.out.println(year year);//这个月份的取值是0-11的
int month calendar.get(Calendar.MONTH)1;
System.out.println(month month);int date calendar.get(Calendar.DATE);
System.out.println(date date);//一周的第几天,从周日开始是第1天
int week calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(week week);//一个月的第几天
int day calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day day);//一年的第几天
int dy calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(dy dy);//12小时制的
int hour calendar.get(Calendar.HOUR);
System.out.println(hour hour);//24小时制的
int hour1 calendar.get(Calendar.HOUR_OF_DAY);
System.out.println(hour1 hour1);
int minute calendar.get(Calendar.MINUTE);
System.out.println(minute minute);
int second calendar.get(Calendar.SECOND);
System.out.println(second second);Calendar自己设置时间 //Calendar自己设置时间Calendar calendarCalendar.getInstance();calendar.set(2023,Calendar.AUGUST,8);int year calendar.get(Calendar.YEAR);int month calendar.get(Calendar.MONTH);System.out.println(year year);System.out.println(month (month1));Date 转Calender //Date 转CalenderCalendar calendarCalendar.getInstance();Date date DateUtil.parse(yyyy-MM-dd HH:mm:ss, 2023-8-8 15:30:54);calendar.setTime(date);int year calendar.get(Calendar.YEAR);int hour calendar.get(Calendar.HOUR_OF_DAY);System.out.println(year year);System.out.println(hour hour);Calendar 转 Date: //Calendar 转 DateCalendar calendarCalendar.getInstance();Date date calendar.getTime();System.out.println(DateUtil.getAllDateTime(date));4. GregorianCalendar
格里高利历是公历的标准名称教皇格里高利历十三世于1582年颁布。公历纪元又称“西元”。
儒略历公元前45年1月1日起执行的一种历法一年12个月大小月交替四年一闰平年365日闰年366天。年平均长度365.25天。
1949年9月27日中国政协通过采用国际社会通用的西历和西元作业历法和纪年。
四年一闰百年不闰四百年一大闰。
年均长度365天5小时49分112秒按此计算方式3000年左右误差一天。
判断闰年的方法isLeapYear(int)返回一个boolean值1582年后计算方式不同。
public class Test1 {public static void main(String[] args) {GregorianCalendar calendarnew GregorianCalendar();boolean leapYear calendar.isLeapYear(2000);//判断是否是闰年System.out.println(leapYear leapYear);}
}