**
java日期类型
日期的表现格式
- Date类型的时间: Date date=new Date();
- long类型的时间: 系统从1970到当前的一个毫秒值
- Calendar类型的时间
抽象类,不可以被实例化,只能实例化子类对象
使用静态工厂获取Calender对象
日期的格式化和解析
- 使用simpleDateFormat:实现日期转字符串(格式化),以及字符串转为日期(解析)
Calendar常用方法:
-
public int get(int field); 返回给定日历字段的值
-
public abstract void add(int field,int amount);//根据日历的规则对指定的时间字段进行添加或删除给定的值
-
public Date getTime(); 将Calendar类型转化为Date类型
-
public final void set(int year,int month,int date);设置指定的日期,注意里面的参数类型是int类型,不是String类型,月份是从零开始的,即0-11
**
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo01 {
public static void main(String[] args) {
Calendar c1=Calendar.getInstance();
//System.out.println(c1);//格式化和解析
//SimpleDateFormat将Date类型的日期,转化为String
// 将Calendar转为Date
Date d=c1.getTime();
//格式化是将Date的时间转换为字符串
SimpleDateFormat sdf=new SimpleDateFormat(("yyyy/MM/dd HH:mm:ss"));
System.out.println(sdf.format(d));
c1.add(Calendar.DAY_OF_WEEK,-14);
Date d1=c1.getTime();
System.out.println(sdf.format(d1));
c1.set(2000,1,27);
Date d3=c1.getTime();
System.out.println(d3);
}
}
Calendar的set和get的使用小技巧
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarTest01 {
public static void main(String[] args) {
//如何使用Calendar来实现判断一年某一个月有多少天(2000.2)
//1.调用Calendar中的set设置年月日,设置为2000年3月1
Calendar c1=Calendar.getInstance();
c1.set(2000,2,1);
//2.对天数进行减一
c1.add(Calendar.DATE,-1);
Date d3=c1.getTime();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(d3));
//3.直接获取天数并输入
System.out.println(c1.get(Calendar.DATE));
}
}
异常:程序出现了不正常的情况
-
异常体系:
- Error:严重问题,不需要处理(java虚拟机无法解决的严重问题,资源耗尽,jvm系统内部出错
- Exception:异常类,它表示本身可以处理的问题
- RuntimeException(运行时异常)
- 非RuntimeException(编译时异常)
在编译时必须处理,否者程序不能通过编译,就不能执行了
-
编译期异常处理机制一:try-catch-finally:捕获异常
try{ 捕获异常第一步,将可能出现的异常代码都放在try中 } catch(Exception e){ 在catch中对异常进行处理 } finally{ 不管上述是否发生异常,都要执行该代码块 } 多个异常关系,如果没有关系,谁在前谁在后没有关系 如果有关系,子在前,父在后
-
编译期异常处理机制二:throws(抛出异常:自己不处理,谁调用谁处理)
throws Exception 写在方法的声明处,指明方法在执行时,可能会出现异常 一旦方法体执行,出现这个异常,调用者需要处理这个异常
格式可以参考如下:
异常处理机制一:
public static void main(String[] args){
String s="198/01/09 13:14:52";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
try {
Date date=sdf.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
}
异常处理机制二:
public static void main(String[] args) throws ParseException {
String s="198/01/09 13:14:52";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date=sdf.parse(s);
}