加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类

发布时间:2020-12-14 06:09:01 所属栏目:Java 来源:网络整理
导读:BigInteger类 发 span style="color: #0000ff;"import span style="color: #000000;" java.math.BigInteger; span style="color: #008000;"/* span style="color: #008000;" span style="color: #ff0000;"BigInteger:可以让超过Integer范围内的数据进行运算

BigInteger类

<span style="color: #0000ff;">import<span style="color: #000000;"> java.math.BigInteger;

<span style="color: #008000;">/*<span style="color: #008000;">

  • <span style="color: #ff0000;">BigInteger:可以让超过Integer范围内的数据进行运算

  • 构造方法:

  • BigInteger(String val)
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> BigIntegerDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 这几个测试,是为了简单超过int范围内,Integer就不能再表示,所以就更谈不上计算了。
    <span style="color: #008000;">//<span style="color: #008000;"> Integer i = new Integer(100);
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(i);
    <span style="color: #008000;">// <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(Integer.MAX_VALUE);
    <span style="color: #008000;">//<span style="color: #008000;"> Integer ii = new Integer("2147483647");
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(ii);
    <span style="color: #008000;">// <span style="color: #008000;">//<span style="color: #008000;"> NumberFormatException
    <span style="color: #008000;">//<span style="color: #008000;"> Integer iii = new Integer("2147483648");
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(iii);

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 通过大整数来创建对象</span>
     BigInteger bi = <span style="color: #0000ff;"&gt;new</span> BigInteger("2147483648"<span style="color: #000000;"&gt;);
     System.out.println(</span>"bi:" +<span style="color: #000000;"&gt; bi);

    }
    }

BigInteger的运算方法

<span style="color: #0000ff;">import<span style="color: #000000;"> java.math.BigInteger;

<span style="color: #008000;">/*<span style="color: #008000;">

  • public BigInteger add(BigInteger val):加

  • public BigInteger subtract(BigInteger val):减

  • public BigInteger multiply(BigInteger val):乘

  • public BigInteger divide(BigInteger val):除

  • public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> BigIntegerDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    BigInteger bi1 = <span style="color: #0000ff;">new BigInteger("100"<span style="color: #000000;">);
    BigInteger bi2 = <span style="color: #0000ff;">new BigInteger("50"<span style="color: #000000;">);

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; public BigInteger add(BigInteger val):加</span>
     System.out.println("add:" +<span style="color: #000000;"&gt; bi1.add(bi2));
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; public BigInteger subtract(BigInteger val):减</span>
     System.out.println("subtract:" +<span style="color: #000000;"&gt; bi1.subtract(bi2));
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; public BigInteger multiply(BigInteger val):乘</span>
     System.out.println("multiply:" +<span style="color: #000000;"&gt; bi1.multiply(bi2));
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; public BigInteger divide(BigInteger val):除</span>
     System.out.println("divide:" +<span style="color: #000000;"&gt; bi1.divide(bi2));
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组</span>
     BigInteger[] bis =<span style="color: #000000;"&gt; bi1.divideAndRemainder(bi2);
     System.out.println(</span>"商:" + bis[0<span style="color: #000000;"&gt;]);
     System.out.println(</span>"余数:" + bis[1<span style="color: #000000;"&gt;]);

    }
    }

?

BigDecimal类

?不可变的、任意精度的有符号十进制数

?

<span style="color: #008000;">/*<span style="color: #008000;">

  • 看程序写结果:结果和我们想的有一点点不一样,这是因为float类型的数据存储和整数不一样导致的。它们大部分的时候,都是带有有效数字位。

  • <span style="color: #ff0000;">由于在运算的时候,float类型和double很容易丢失精度,演示案例。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal

  • BigDecimal类:不可变的、任意精度的有符号十进制数,可以解决数据丢失问题。
    <span style="color: #008000;">/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> BigDecimalDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    System.out.println(0.09 + 0.01<span style="color: #000000;">);
    System.out.println(1.0 - 0.32<span style="color: #000000;">);
    System.out.println(1.015
    100<span style="color: #000000;">);
    System.out.println(1.301 / 100<span style="color: #000000;">);

     System.out.println(</span>1.0 - 0.12<span style="color: #000000;"&gt;);

    }
    }


BigDecimal的运算

<span style="color: #0000ff;">import<span style="color: #000000;"> java.math.BigDecimal;

<span style="color: #008000;">/*<span style="color: #008000;">

  • 构造方法:

  • 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):商,几位小数,如何舍取
    <span style="color: #008000;">/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> BigDecimalDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(0.09 + 0.01);
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(1.0 - 0.32);
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(1.015
    100);
    <span style="color: #008000;">//<span style="color: #008000;"> System.out.println(1.301 / 100);
    <span style="color: #000000;">
    BigDecimal bd1 = <span style="color: #0000ff;">new BigDecimal("0.09"<span style="color: #000000;">);
    BigDecimal bd2 = <span style="color: #0000ff;">new BigDecimal("0.01"<span style="color: #000000;">);
    System.out.println("add:" +<span style="color: #000000;"> bd1.add(bd2));
    System.out.println("-------------------"<span style="color: #000000;">);

     BigDecimal bd3 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("1.0"<span style="color: #000000;"&gt;);
     BigDecimal bd4 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("0.32"<span style="color: #000000;"&gt;);
     System.out.println(</span>"subtract:" +<span style="color: #000000;"&gt; bd3.subtract(bd4));
     System.out.println(</span>"-------------------"<span style="color: #000000;"&gt;);
    
     BigDecimal bd5 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("1.015"<span style="color: #000000;"&gt;);
     BigDecimal bd6 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("100"<span style="color: #000000;"&gt;);
     System.out.println(</span>"multiply:" +<span style="color: #000000;"&gt; bd5.multiply(bd6));
     System.out.println(</span>"-------------------"<span style="color: #000000;"&gt;);
    
     BigDecimal bd7 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("1.301"<span style="color: #000000;"&gt;);
     BigDecimal bd8 </span>= <span style="color: #0000ff;"&gt;new</span> BigDecimal("100"<span style="color: #000000;"&gt;);
     System.out.println(</span>"divide:" +<span style="color: #000000;"&gt; bd7.divide(bd8));
     System.out.println(</span>"divide:"
             + bd7.divide(bd8,3<span style="color: #000000;"&gt;,BigDecimal.ROUND_HALF_UP));
     System.out.println(</span>"divide:"
             + bd7.divide(bd8,8<span style="color: #000000;"&gt;,BigDecimal.ROUND_HALF_UP));

    }
    }

Date类

Date概述

<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;

<span style="color: #008000;">/*<span style="color: #008000;">

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

  • 构造方法:

  • Date():根据当前的默认毫秒值创建日期对象

  • Date(long date):根据给定的毫秒值创建日期对象
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DateDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 创建对象
    Date d = <span style="color: #0000ff;">new<span style="color: #000000;"> Date();
    System.out.println("d:" +<span style="color: #000000;"> d);

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 创建对象
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; long time = System.currentTimeMillis();</span>
     <span style="color: #0000ff;"&gt;long</span> time = 1000 * 60 * 60; <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 1小时</span>
     Date d2 = <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; Date(time);
     System.out.println(</span>"d2:" +<span style="color: #000000;"&gt; d2);

    }
    }

日期和毫秒值的相互转换

<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;

<span style="color: #008000;">/*<span style="color: #008000;">

  • public long getTime():获取时间,以毫秒为单位

  • public void setTime(long time):设置时间

  • 从Date得到一个毫秒值

  • getTime()

  • 把一个毫秒值转换为Date

  • 构造方法

  • setTime(long time)
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DateDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 创建对象
    Date d = <span style="color: #0000ff;">new<span style="color: #000000;"> Date();

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取时间</span>
     <span style="color: #0000ff;"&gt;long</span> time =<span style="color: #000000;"&gt; d.getTime();
     System.out.println(time);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; System.out.println(System.currentTimeMillis());</span>

    <span style="color: #000000;">
    System.out.println("d:" +<span style="color: #000000;"> d);
    <span style="color: #008000;">//<span style="color: #008000;"> 设置时间
    d.setTime(1000<span style="color: #000000;">);
    System.out.println("d:" +<span style="color: #000000;"> d);
    }
    }

?

DateFormat

是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

Date

String -- Date(解析)

<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.ParseException;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.SimpleDateFormat;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;

<span style="color: #008000;">/*<span style="color: #008000;">

  • Date -- String(格式化)

  • public final String format(Date date)

  • String -- Date(解析)

  • public Date parse(String source)

  • DateForamt:可以进行日期和字符串的格式化和解析,但是由于是抽象类,所以使用具体子类SimpleDateFormat。

  • SimpleDateFormat的构造方法:

  • SimpleDateFormat():默认模式

  • SimpleDateFormat(String pattern):给定的模式

  • 这个模式字符串该如何写呢?

  • 通过查看API,我们就找到了对应的模式

  • 年 y

  • 月 M

  • 日 d

  • 时 H

  • 分 m

  • 秒 s

  • 2014年12月12日 12:12:12
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DateFormatDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void main(String[] args) <span style="color: #0000ff;">throws<span style="color: #000000;"> ParseException {
    <span style="color: #008000;">//<span style="color: #008000;"> Date -- String
    <span style="color: #008000;">//<span style="color: #008000;"> 创建日期对象
    Date d = <span style="color: #0000ff;">new<span style="color: #000000;"> Date();
    <span style="color: #008000;">//<span style="color: #008000;"> 创建格式化对象
    <span style="color: #008000;">//<span style="color: #008000;"> SimpleDateFormat sdf = new SimpleDateFormat();
    <span style="color: #008000;">//<span style="color: #008000;"> 给定模式
    SimpleDateFormat sdf = <span style="color: #0000ff;">new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"<span style="color: #000000;">);
    <span style="color: #008000;">//<span style="color: #008000;"> public final String format(Date date)
    String s =<span style="color: #000000;"> sdf.format(d);
    System.out.println(s);

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;String -- Date</span>
     String str = "2008-08-08 12:12:12"<span style="color: #000000;"&gt;;
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;在把一个字符串解析为日期的时候,请注意格式必须和给定的字符串格式匹配</span>
     SimpleDateFormat sdf2 = <span style="color: #0000ff;"&gt;new</span> SimpleDateFormat("yyyy-MM-dd HH:mm:ss"<span style="color: #000000;"&gt;);
     Date dd </span>=<span style="color: #000000;"&gt; sdf2.parse(str);
     System.out.println(dd);

    }
    }

日期工具类

<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.ParseException;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.SimpleDateFormat;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;

<span style="color: #008000;">/**<span style="color: #008000;">

  • 这是日期和字符串相互转换的工具类

  • <span style="color: #808080;">@author<span style="color: #008000;"> 风清扬
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DateUtil {
    <span style="color: #0000ff;">private<span style="color: #000000;"> DateUtil() {
    }

    <span style="color: #008000;">/**<span style="color: #008000;">

    • 这个方法的作用就是把日期转成一个字符串
    • <span style="color: #808080;">@param<span style="color: #008000;"> d
    • 被转换的日期对象
    • <span style="color: #808080;">@param<span style="color: #008000;"> format
    • 传递过来的要被转换的格式
    • <span style="color: #808080;">@return<span style="color: #008000;"> 格式化后的字符串
      <span style="color: #008000;">*/
      <span style="color: #0000ff;">public <span style="color: #0000ff;">static<span style="color: #000000;"> String dateToString(Date d,String format) {
      <span style="color: #008000;">//<span style="color: #008000;"> SimpleDateFormat sdf = new SimpleDateFormat(format);
      <span style="color: #008000;">//<span style="color: #008000;"> return sdf.format(d);
      <span style="color: #0000ff;">return <span style="color: #0000ff;">new<span style="color: #000000;"> SimpleDateFormat(format).format(d);
      }

    <span style="color: #008000;">/**<span style="color: #008000;">

    • 这个方法的作用就是把一个字符串解析成一个日期对象
    • <span style="color: #808080;">@param<span style="color: #008000;"> s
    • 被解析的字符串
    • <span style="color: #808080;">@param<span style="color: #008000;"> format
    • 传递过来的要被转换的格式
    • <span style="color: #808080;">@return<span style="color: #008000;"> 解析后的日期对象
    • <span style="color: #808080;">@throws<span style="color: #008000;"> ParseException
      <span style="color: #008000;">*/
      <span style="color: #0000ff;">public <span style="color: #0000ff;">static<span style="color: #000000;"> Date stringToDate(String s,String format)
      <span style="color: #0000ff;">throws<span style="color: #000000;"> ParseException {
      <span style="color: #0000ff;">return <span style="color: #0000ff;">new<span style="color: #000000;"> SimpleDateFormat(format).parse(s);
      }
      }

?

<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.ParseException;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;

<span style="color: #008000;">/*<span style="color: #008000;">

  • 工具类的测试
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DateUtilDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void main(String[] args) <span style="color: #0000ff;">throws<span style="color: #000000;"> ParseException {
    Date d = <span style="color: #0000ff;">new<span style="color: #000000;"> Date();
    <span style="color: #008000;">//<span style="color: #008000;"> yyyy-MM-dd HH:mm:ss
    String s = DateUtil.dateToString(d,"yyyy年MM月dd日 HH:mm:ss"<span style="color: #000000;">);
    System.out.println(s);

     String s2 </span>= DateUtil.dateToString(d,"yyyy年MM月dd日"<span style="color: #000000;"&gt;);
     System.out.println(s2);
    
     String s3 </span>= DateUtil.dateToString(d,"HH:mm:ss"<span style="color: #000000;"&gt;);
     System.out.println(s3);
    
     String str </span>= "2014-10-14"<span style="color: #000000;"&gt;;
     Date dd </span>= DateUtil.stringToDate(str,"yyyy-MM-dd"<span style="color: #000000;"&gt;);
     System.out.println(dd);

    }
    }

测试来到世上多少天

<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.ParseException;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.text.SimpleDateFormat;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Date;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;

<span style="color: #008000;">/*<span style="color: #008000;">

  • 算一下你来到这个世界多少天?

  • 分析:

  • A:键盘录入你的出生的年月日

  • B:把该字符串转换为一个日期

  • C:通过该日期得到一个毫秒值

  • D:获取当前时间的毫秒值

  • E:用D-C得到一个毫秒值

  • F:把E的毫秒值转换为年

  • /1000/60/60/24
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> MyYearOldDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void main(String[] args) <span style="color: #0000ff;">throws<span style="color: #000000;"> ParseException {
    <span style="color: #008000;">//<span style="color: #008000;"> 键盘录入你的出生的年月日
    Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);
    System.out.println("请输入你的出生年月日:"<span style="color: #000000;">);
    String line =<span style="color: #000000;"> sc.nextLine();

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 把该字符串转换为一个日期</span>
     SimpleDateFormat sdf = <span style="color: #0000ff;"&gt;new</span> SimpleDateFormat("yyyy-MM-dd"<span style="color: #000000;"&gt;);
     Date d </span>=<span style="color: #000000;"&gt; sdf.parse(line);
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 通过该日期得到一个毫秒值</span>
     <span style="color: #0000ff;"&gt;long</span> myTime =<span style="color: #000000;"&gt; d.getTime();
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取当前时间的毫秒值</span>
     <span style="color: #0000ff;"&gt;long</span> nowTime =<span style="color: #000000;"&gt; System.currentTimeMillis();
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 用D-C得到一个毫秒值</span>
     <span style="color: #0000ff;"&gt;long</span> time = nowTime -<span style="color: #000000;"&gt; myTime;
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 把E的毫秒值转换为年</span>
     <span style="color: #0000ff;"&gt;long</span> day = time / 1000 / 60 / 60 / 24<span style="color: #000000;"&gt;;
    
     System.out.println(</span>"你来到这个世界:" + day + "天"<span style="color: #000000;"&gt;);

    }
    }

?

Calendar类

(12)如何得到一个日历对象呢?=34?

?

?

<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Calendar;

<span style="color: #008000;">/*<span style="color: #008000;">

  • Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

  • public int get(int field):返回给定日历字段的值。日历类中的每个日历字段都是静态的成员变量,并且是int类型。
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> CalendarDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 其日历字段已由当前日期和时间初始化:
    Calendar rightNow = Calendar.getInstance(); <span style="color: #008000;">//<span style="color: #008000;"> 子类对象

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取年</span>
     <span style="color: #0000ff;"&gt;int</span> year =<span style="color: #000000;"&gt; rightNow.get(Calendar.YEAR);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取月</span>
     <span style="color: #0000ff;"&gt;int</span> month =<span style="color: #000000;"&gt; rightNow.get(Calendar.MONTH);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取日</span>
     <span style="color: #0000ff;"&gt;int</span> date =<span style="color: #000000;"&gt; rightNow.get(Calendar.DATE);
    
     System.out.println(year </span>+ "年" + (month + 1) + "月" + date + "日"<span style="color: #000000;"&gt;);

    }
    }

Clander的add和set方法

<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Calendar;

<span style="color: #008000;">/*<span style="color: #008000;">

  • public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作。

  • public final void set(int year,int month,int date):设置当前日历的年月日
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> CalendarDemo {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 获取当前的日历时间
    Calendar c =<span style="color: #000000;"> Calendar.getInstance();

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取年</span>
     <span style="color: #0000ff;"&gt;int</span> year =<span style="color: #000000;"&gt; c.get(Calendar.YEAR);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取月</span>
     <span style="color: #0000ff;"&gt;int</span> month =<span style="color: #000000;"&gt; c.get(Calendar.MONTH);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取日</span>
     <span style="color: #0000ff;"&gt;int</span> date =<span style="color: #000000;"&gt; c.get(Calendar.DATE);
     System.out.println(year </span>+ "年" + (month + 1) + "月" + date + "日"<span style="color: #000000;"&gt;);
    
     </span><span style="color: #008000;"&gt;//</span> <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 三年前的今天
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; c.add(Calendar.YEAR,-3);
     </span><span style="color: #008000;"&gt;//</span> <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取年
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; year = c.get(Calendar.YEAR);
     </span><span style="color: #008000;"&gt;//</span> <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取月
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; month = c.get(Calendar.MONTH);
     </span><span style="color: #008000;"&gt;//</span> <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取日
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; date = c.get(Calendar.DATE);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; System.out.println(year + "年" + (month + 1) + "月" + date + "日");
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 5年后的10天前</span>
     c.add(Calendar.YEAR,5<span style="color: #000000;"&gt;);
     c.add(Calendar.DATE,</span>-10<span style="color: #000000;"&gt;);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取年</span>
     year =<span style="color: #000000;"&gt; c.get(Calendar.YEAR);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取月</span>
     month =<span style="color: #000000;"&gt; c.get(Calendar.MONTH);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取日</span>
     date =<span style="color: #000000;"&gt; c.get(Calendar.DATE);
     System.out.println(year </span>+ "年" + (month + 1) + "月" + date + "日"<span style="color: #000000;"&gt;);
     System.out.println(</span>"--------------"<span style="color: #000000;"&gt;);
    
     c.set(</span>2011,11,11<span style="color: #000000;"&gt;);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取年</span>
     year =<span style="color: #000000;"&gt; c.get(Calendar.YEAR);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取月</span>
     month =<span style="color: #000000;"&gt; c.get(Calendar.MONTH);
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取日</span>
     date =<span style="color: #000000;"&gt; c.get(Calendar.DATE);
     System.out.println(year </span>+ "年" + (month + 1) + "月" + date + "日"<span style="color: #000000;"&gt;);

    }
    }

获取任意一年的二月有多少天

<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Calendar;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;

<span style="color: #008000;">/*<span style="color: #008000;">

  • 获取任意一年的二月有多少天

  • 分析:

  • A:键盘录入任意的年份

  • B:设置日历对象的年月日

  • 年就是A输入的数据

  • 月是2

  • 日是1

  • C:把时间往前推一天,就是2月的最后一天

  • D:获取这一天输出即可
    <span style="color: #008000;">*/
    <span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> CalendarTest {
    <span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
    <span style="color: #008000;">//<span style="color: #008000;"> 键盘录入任意的年份
    Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);
    System.out.println("请输入年份:"<span style="color: #000000;">);
    <span style="color: #0000ff;">int year =<span style="color: #000000;"> sc.nextInt();

     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 设置日历对象的年月日</span>
     Calendar c =<span style="color: #000000;"&gt; Calendar.getInstance();
     c.set(year,</span>2,1); <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 其实是这一年的3月1日
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 把时间往前推一天,就是2月的最后一天</span>
     c.add(Calendar.DATE,-1<span style="color: #000000;"&gt;);
    
     </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; 获取这一天输出即可</span>

    <span style="color: #000000;"> System.out.println(c.get(Calendar.DATE));
    }
    }

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读