Date等日期类,BigDecimal类,System

System类

	System 类包含一些有用的类字段和方法。它不能被实例化。 

方法:

	public static void gc()//调用垃圾回收器
	public static void exit(int status)//退出java虚拟机 0 为正常退出 非0为 异常退出
	public static long currentTimeMillis()//获取当前时间的毫秒值

BigDecimal类

	在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal不可变的、任意精度的有符号十进制数。

构造方法

	public BigDecimal(String val)

成员方法

	public BigDecimal add(BigDecimal augend)//加
	public BigDecimal subtract(BigDecimal subtrahend)//减
	public BigDecimal multiply(BigDecimal multiplicand)//乘
	public BigDecimal divide(BigDecimal divisor)//除法
	public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)//scale 小数点后面保留几位
	// roundingMode 取舍模式 比如四舍五入

Date类

	类 Date 表示特定的瞬间,精确到毫秒。 

构造方法

	public Date()
	public Date(long date)  //把一个long类型的毫秒值转换成一个日期对象

成员方法

  •  public long getTime():	获取一个日期对象对象毫秒值
     public void setTime(long time):	给一个日期对象设置上指定的毫秒值 
    

转换问题

Date ---- long 的转换	
调用getTime方法

long --- Date 的转换
可以使用构造方法
setTime(long time)

SimpleDateFormat类

SimpleDateFormat: 可以把一个日期对象格式化成一个文本(字符串) , 也可以把一个日期字符串解析成一个日期对象 
  • 构造方法:

  •  public SimpleDateFormat():使用默认的模式来创建一个SimpleDateFormat对象
    
  •  public SimpleDateFormat(String pattern):使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象
    
  • 规则的定义

  •  y				年
    
  •  M				月
    
  •  d				天
    
  •  H				时
    
  •  m				分
    
  •  s				秒
    
  • 成员方法:

  •  public String format(Date date): 	把一个日期对象格式化成一个字符串
    
  •  public Date parse(String dateStr):	把一个日期字符串解析成一个日期对象 注意要以指定格式解析
    
  • 看代码
    请编写程序,完成获取指定的日期 与今天相距多少天,并测

    `public class Demo3 {
    public static void main(String[] args) throws ParseException {
    SimpleDateFormat a=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//特定格式
    String d=“2018-10-20 22:50:00”;
    Date date=a.parse(d);
    long s1=date.getTime();//将时间转为毫秒
    long s2=System.currentTimeMillis();//得到当前的毫秒
    int day=(int)(s2-s1)/1000/60/60/24;
    System.out.println(“距现在已有”+day+“天”);

    }
    }
    `public class Demo3 {
    public static void main(String[] args) throws ParseException {
    SimpleDateFormat a=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//特定格式
    String d=“2018-10-20 22:50:00”;
    Date date=a.parse(d);
    long s1=date.getTime();//将时间转为毫秒
    long s2=System.currentTimeMillis();//得到当前的毫秒
    int day=(int)(s2-s1)/1000/60/60/24;
    System.out.println(“距现在已有”+day+“天”);

    }
    }

日期工具类的编写和测试

A:案例演示
	日期工具类的编写
	日期工具类的测试

接下来分析一个问题,计算你来到这个世界多少天
思路步骤:

  •  a: 键盘录入一个生日(日期字符串)
    
  •  b: 把这个日期字符串对象解析成一个日期对象
    
  •  c: 获取b中的日期对象对应的毫秒值
    
  •  d: 获取当前系统时间对应的毫秒值
    
  •  e: 使用d中的毫秒值 - c中的毫秒值
    
  •  f: 把e中的差值换算成对应的天  差值/1000/60/60/24
    
  •  g: 输出
    

Calendar类的概述和获取日期

Calendar 类是一个抽象类,不能直接new对象,可以通过他的一个静态成员方法getInstance()来获取他的对象

有YEAR、MONTH、DAY_OF_MONTH、HOUR 

成员方法

	public static Calendar getInstance()	使用默认时区和语言环境获得一个日历对象
	public int get(int field)		获得给定日历字段对应的值 field通过Calendar提供的字段来拿

Calendar类的add()和set()方法

	public void add(int field,int amount)		根据日历的规则,为给定的日历字段添加或减去指定的时间量
	public final void set(int year,int month,int date)	设置日历时间 年月日

例题:获取任意年份的2月份有多少天

 // 创建一个Scanner对象
	Scanner sc = new Scanner(System.in) ;
	
	// 友情提示
	System.out.println("请您输入一个年: ");
	
	// 获取键盘录入数据
	int year = sc.nextInt() ;
	
	// 创建Calendar对象
	Calendar calendar = Calendar.getInstance() ;
	
	// 把这个Calendar的时间设置为a中录入的年的3月1号
	calendar.set(year, 2 , 1) ;
	
	// 向前推算一天
	calendar.add(Calendar.DAY_OF_MONTH, -1) ;
	
	// 获取
	int day = calendar.get(Calendar.DAY_OF_MONTH) ;

	// 输出
	System.out.println(day);

补充:判断是不是一个闰年
    if(year%4==0&&year%100!=0||year%400==0){
           System.out.println("是闰年");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值