SimpleDateFormat和DecimalFormat和BigDecimal

SimpleDateFormat和DecimalFormat和BigDecimal

package com.jl.learning.date;


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

public class DateTest {
    public static void main(String[] args) throws ParseException {
        //Date方法创建时间对象
        Date date = new Date();
        System.out.println(date);//Fri Sep 18 00:36:24 CST 2020
        /*
        * yyyy 年年年年
        * MM 月月
        * dd 日日
        * HH 时时
        * mm 分分
        * ss 秒秒
        * SSS 毫秒
        * */
        //SimpleDateFormat方法格式化时间对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS");
        String nowTime = sdf.format(date);
        System.out.println(nowTime);// 2020/09/18 00:55:00 537
        //假设现在有一个日期字符串,怎么转换成Date类型
        String time = "2020/09/18 00:55:00 537";
        //字符串的格式要和SimpleDateFormat指定的形参格式相同
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS");
        Date dateTime = sdf2.parse(time);
        System.out.println(dateTime);//Fri Sep 18 00:55:00 CST 2020

        //============================================================================
        //获取自1970年1月1日00:00:00 000到当前系统时间的总毫秒数
        long t = System.currentTimeMillis();
        System.out.println(t);//1600406455357
        //返回正在运行的 java 虚拟机的高分辨率时间源的当前值(以纳秒为单位)。
        long tt = System.nanoTime();
        System.out.println(tt);//349887191381825
        //统计一个程序执行耗费的时间
        /*long begin = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            System.out.println("i = " + i);
        }
        long end = System.currentTimeMillis();
        System.out.println("耗费时长:" + (end-begin) + "毫秒");//80毫秒*/
        //=============================================================================
        //获取自1970-01-01 00:00:00 000开始后n毫秒的时间 Date date = new Date(n);
        //怎么获取昨天的此时的时间?
        Date date3 = new Date(System.currentTimeMillis()-24*60*60*1000);
        System.out.println(sdf.format(date3));//2020/09/17 13:49:32 707
        System.out.println(date3);//Thu Sep 17 13:49:32 CST 2020
    }
}

package com.jl.learning.number;

//java.text.DecimalFormat/
import java.math.BigDecimal;
import java.text.DecimalFormat;

public class DecimalFormatTest {
    public static void main(String[] args) {
        //java.test.DecimalFormat专门负责数字格式化的
        //DecimalFormat df = new DecimalFormat(数字格式);
        /*
        * 数字格式有哪些
        *   #代表任意数字
        *   ,代表千分位
        *   .代表小数点
        * */
        DecimalFormat df = new DecimalFormat("###,###.##");
        String s = df.format(1232.12);
        System.out.println(s);//1,232.12
        String s2 = df.format(1232.12222);
        System.out.println(s2);//1,232.12
        DecimalFormat df2 = new DecimalFormat("###,###.0000");
        String s3 = df2.format(1234.56);
        System.out.println(s3);//1,234.5600
        //==========================================================
        //1.BigDecimal属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)
        //这是SUN提供的一个类,专门用在财务软件当中。
        //2.财务软件中double是不够用的,需要用java.math.BigDecimal

        //这个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,精度极高的300
        BigDecimal v4 = v2.movePointLeft(2);
        System.out.println(v4);//2.00
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值