02常用API--(Date、Calendar、Math、System)

常用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) //四舍五入

发布了186 篇原创文章 · 获赞 379 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/104587791