常用API
1、Date类
2、DateFormat类
3、Calendar类
4、System类
5、Math类
1.Date
1.1概念
Date是日期类,表示一个的瞬间。精确到毫秒。
1.2、常见构造
public static void main(String[] args) {
Date d1 = new Date();// 获取当前时刻的date对象进行打印
System.out.println(d1);
Date d2 = new Date(1512124554317L); //获取指定毫秒值的date对象进行打印
System.out.println(d2);
}
1.3常见方法
public static void main(String[] args) {
Date d1 = new Date();// 获取当前时刻的date对象
long time = d1.getTime();//返回当前时间的毫秒值
System.out.println(time);
System.out.println("==================");
Date d2 = new Date(1512124554317L); //获取指定毫秒值的date对象
long time2 = d2.getTime();
System.out.println(time2);// 拿到d对象的毫秒值 1512124554317
}
注意:
Date是早期版本出现的,其API中有大量的过时方法,我们常使用Date表示时间点,如果需要格式化和操作时间,需要学习DateFormate和Calendar。
月份备注:
一月 Jan.January
二月 Feb.February
三月 Mar.March
四月 Apr.April
五月 May.May
六月 June.June
七月 July.July
八月 Aug.Aguest
九月 Sept.September
十月 Oct.October
十一月 Nov.November
十二月 Dec.December
2.DateFormat类
2.1概念
DateFormat是用于日期格式化类,即将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。
DateFormat是抽象类,我们需要使用其子类SimpleDateFormat。
格式的具体规则见SimpleDateFormat帮助文档,这里做简单介绍,规则是一个字符串,会将以下字母替换成对应时间组成部分,剩余内容原样输出:
当出现y时,会将y替换成年
当出现M时,会将M替换成月
当出现d时,会将d替换成日
当出现H时,会将H替换成时
当出现m时,会将m替换成分
当出现s时,会将s替换成秒
2.2常见方法
构造方法
public SimpleDateFormat() //使用默认格式创建格式化对象
public SimpleDateFormat(String pattern) //使用指定格式创建格式化对象
主要方法
public final String format(Date date) //将Date转为字符串
public Date parse(String source) //将字符串转为Date
案例一:把当前的日期对象采用默认的模式格式化成字符串,之后再解析成日期对象
//创建日期对象
Date d = new Date();
//采用默认格式创建DF对象
DateFormat df = new SimpleDateFormat();
//对日期对象进行格式化 返回字符串类型的日期信息
String format = df.format(d);
//打印结果
System.out.println(format);//10-11-8 下午9:43 解释为10年11月8日 下午9:43
//解析
Date parse = df.parse(format);
System.out.println(parse);
案例二:把当前的日期对象采用指定的模式格式化成字符串,之后再解析成日期对象
// 创建日期对象
Date d = new Date();
// 采用默认格式创建DF对象
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 对日期对象进行格式化 返回字符串类型的日期信息
String format = df.format(d);
// 打印结果
System.out.println(format);// 2010-11-08 10:06:32
// 解析
Date parse = df.parse(format);
System.out.println(parse);
3.Calendar类
3.1概念
Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为字段值,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下:
Calendar rightNow = Calendar.getInstance(); //返回当前时间
3.2常见方法
public static Calendar getInstance() //获取日期对象
public int get(int field) //获取时间字段值,字段参见帮助文档
public void add(int field,int amount) //指定字段增加某值
public final void set(int year,int month,int date) //设置年月日,可查看对应重载
public final Date getTime() //获取该日历对象转成的日期对象
其他方法简单了解
注意: 西方星期的开始为周日,中国为周一。 在Calendar类中,月份的表示是以0-11代表1-12。 日期是有大小关系的,时间靠后,时间越大。
案例一:获取当前的日期时间 按照 yyyy-MM-dd hh:mm:ss方式显示
//创建日期对象
Calendar c = Calendar.getInstance();
//根据不同的字段获取对应的日期
int yyyy = c.get(Calendar.YEAR);
int MM = c.get(Calendar.MONTH)+1;
int dd = c.get(Calendar.DATE);
int hh = c.get(Calendar.HOUR);
int mm = c.get(Calendar.MINUTE);
int ss = c.get(Calendar.SECOND);
//打印结果
System.out.println(yyyy+"-"+MM+"-"+dd+" "+hh+":"+mm+":"+ss);
案例二:在案例一的基础上给月份添加1
//给指定的月份添加1
c.add(Calendar.MONTH, 1);
//重新获取月份,再打印
MM = c.get(Calendar.MONTH);
System.out.println(yyyy+"-"+MM+"-"+dd+" "+hh+":"+mm+":"+ss);
案例三:在上面的基础上设置时间
//设置成指定的时间
c.set(2010, 3, 15);
//通过getTime来获取对应的时间对象
System.out.println(c.getTime());
4.System类
4.1概念
在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作。
4.2常用方法
public static void gc() //暗示回收垃圾
public static void exit(int status) //退出程序,0为正常状态,其他为异常状态
public static long currentTimeMillis() //获取当前时间毫秒值
static String getProperty(String key) //获取某个属性信息
4.3注意事项
System不能手动创建实例对象,在JDK中,有许多这样的类,其构造方法被private修饰,阻止外界创建对象。
5.Math类
5.1概念
数学工具类,类似这样的工具类,其所有方法均为静态方法,并且一般不会创建对象。
5.2常用方法
public static int abs(int a) //绝对值
public static double ceil(double a) //向上取整
public static double floor(double a) //向下取整
public static int max/min(int a,int b) //取最大最小值
public static double pow(double a,double b) //a^b
public static double random() //产生随机数
public static int round(float a) //四舍五入