Java学习 System类 Runtime类 Math类 Date类 Calendar类

System是不能实例化的 所有的属性和方法都是静态的

常见方法:

    long xurrentTimeMillis() 获取当前时间的毫秒值



     Public static Properities getProperties();确定当前系统属性

properties集合中存储的都是String类型的键和值

Runtime类-----------------------------------------

Runtime 构造方法私有 不能创建对象

大部分是非静态函数,对外只提供了一个getRuntime()提供对象实例

这是一个单例设计模式

public static Runtime getRuntime()


Math类

Math类中都是关于数学运算的函数,都是静态的 此类不可被继承

常用函数:

cell(参数) 返回大于参数的最小整数

floor(参数)返回小于参数的最大整数

round(参数) 返回参数的四舍五入

pow(a,b) 返回a的b次方

random() 返回大于0.0且小于1.0的伪随机double值


Date类

Date date = new Date()将当前时间封装成对象

Date date = new Date(1231315312631);将制定毫秒值封装成对象



 DateFormat类可以更改一下格式

DateFormat类是一个静态工厂类 不能new对象但可以通过静态函数生成对象



如果想要自己定义格式可以使用SimpleDateFormat类,这个类可以new对象





将日期字符串转换成日期对象

使用的是DateFormat中的parse方法 



求两个时间格式字符串之间天数差

public class MapDemo {

	public static void main(String[] args) throws IOException, InterruptedException, ParseException {
		// TODO 自动生成的方法存根
		
		String str1 = "2018-7-15";		//时间起始截止字符串
		String str2 = "2018-6-28";
		
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");	//自定义格式 将字符串转换成时间对象 通过parse
		Date date1 = dateFormat.parse(str1);
		Date date2 = dateFormat.parse(str2);
		
		long time1 = date1.getTime();					//返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。(api原话>.<)
		long time2 =date2.getTime();
		long day = Math.abs(time1-time2)/1000/60/60/24;
		System.out.println(str2+" 到 "+str1+" 有 "+day+" 天.");
	}
}

public class MapDemo {

	public static void main(String[] args) throws IOException, InterruptedException, ParseException {
		// TODO 自动生成的方法存根
		
		Calendar c2 = Calendar.getInstance();
		c2.set(2018, 5, 29);		//注意月份 0代表1月 1代表2月 以此类推
		c2.add(Calendar.DAY_OF_MONTH, -1);//查看前一天的时间
		
		show(c2);
	}
	public static String getWeek(int i)
	{
		String[] weeks = {"","星期七","星期一","星期二","星期三","星期四","星期五","星期六"};	//一周的第一天是星期天 需要注意
		return weeks[i];
	}
	public static void show(Calendar c)	//获取当前日期
	{
		
		int year = c.get(Calendar.YEAR);
		int month = c.get(Calendar.MONTH)+1;
		int day = c.get(Calendar.DAY_OF_MONTH);
		int week = c.get(Calendar.DAY_OF_WEEK);
		System.out.println((year+"年"+month+"月"+day+"日"+getWeek(week)));
	}
}

注意:源码上返回的星期几的数字是从1到7 并没有0

    public final static int SUNDAY = 1;
    public final static int MONDAY = 2;
    public final static int TUESDAY = 3;
    public final static int WEDNESDAY = 4;
    public final static int THURSDAY = 5;
    public final static int FRIDAY = 6;
    public final static int SATURDAY = 7;

猜你喜欢

转载自blog.csdn.net/goddreamyyh/article/details/80839479