Java 日期类,数字类

Date

  Date 类是时间

  SimpleDateFormat 类是用来格式化时间

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;


public class DateTest01 {
    public static void main(String[] args) {
        Date nowdate = new Date();

        System.out.println(nowdate);

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = sdf.format(nowdate);
        System.out.println(dateString);

        // 不在 try内部 Date date2 = sdf2.parse(time); 会提示 Unhandled exception: java.text.ParseException
        try {
            String time = "2008-08-08";
            //SimpleDateFormat sdf2 = new SimpleDateFormat("格式不能随便写,要和日期字符串格式相同");
            // 注意:字符串的日期格式和SimpleDateFormat对象指定的日期格式要一致。不然会出现异常:java.text.ParseException
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
            Date date2 = sdf2.parse(time);
            System.out.println(date2); //Fri Aug 08 08:08:08 CST 2008

        } catch (ParseException e) {
            System.out.println("error");
        }

    }
}

  // 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数。
      long nowtimeMillis = System.currentTimeMillis();
      可以获取两次总毫秒数,获取执行的时间

  // 获取昨天的此时的时间。
    Date time2 = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);

  简单总结一下System类的相关属性和方法:
    System.out 【out是System类的静态变量。】
    System.out.println() 【println()方法不是System类的,是PrintStream类的方法。】
    System.gc() 建议启动垃圾回收器
    System.currentTimeMillis() 获取自1970年1月1日到系统当前时间的总毫秒数。
    System.exit(0) 退出JVM。

 

DecimalFormat

  //DecimalFormat df = new DecimalFormat("数字格式");  

  // java.text.DecimalFormat专门负责数字格式化的。

  

import java.text.DecimalFormat;

/*
关于数字的格式化。(了解)
 */
public class DecimalFormatTest01 {
    public static void main(String[] args) {
        // java.text.DecimalFormat专门负责数字格式化的。
        //DecimalFormat df = new DecimalFormat("数字格式");

        /*
        数字格式有哪些?
            # 代表任意数字
            , 代表千分位
            . 代表小数点
            0 代表不够时补0

            ###,###.##
                表示:加入千分位,保留2个小数。
         */
        DecimalFormat df = new DecimalFormat("###,###.##");
        //String s = df.format(1234.56);
        String s = df.format(1234.561232);
        System.out.println(s); // "1,234.56"

        DecimalFormat df2 = new DecimalFormat("###,###.0000"); //保留4个小数位,不够补上0
        String s2 = df2.format(1234.56);
        System.out.println(s2); // "1,234.5600"

    }
}

  

  BigDecimal  属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)

  

import java.math.BigDecimal;

/*
1、BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)
这是SUN提供的一个类。专门用在财务软件当中。

 */
public class BigDecimalTest01 {
    public static void main(String[] args) {

        // 这个100不是普通的100,是精度极高的100
        BigDecimal v1 = new BigDecimal(100);
        // 精度极高的200
        BigDecimal v2 = new BigDecimal(200);
        // 求和
        // v1 + v2; // 这样不行,v1和v2都是引用,不能直接使用+求和。
        BigDecimal v3 = v1.add(v2); // 调用方法求和。
        System.out.println(v3); //300

        BigDecimal v4 = v2.divide(v1);
        System.out.println(v4); // 2
    }
}

 

posted @ 2020-09-08 23:46  一叶扁舟,乘风破浪  阅读(294)  评论(0编辑  收藏  举报