Java中对日期的处理 字符串、数字格式化 统计方法执行时间 随机数

Java中对日期的处理 字符串、数字格式化 统计方法执行时间 随机数

日期格式化
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DataTest {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        // 获取系统当前时间(精确到毫秒)
        // 调用无参构造方法
        System.out.println(date);//Fri Aug 14 07:58:49 CST 2020

        // java.text包下的,专门负责日期格式化
        // yyyy年 MM月 dd日 HH时 mm分 ss秒 SSS毫秒
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");

        String nowTime = dateFormat.format(date);
        System.out.println(nowTime);//2020-08-14 08:35:49:298

        // 将一个日期字符串String,转换成Date类型
        String time = "2090-08-08 08:08:08:888";
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
        Date date1 = dateFormat1.parse(time);
        System.out.println(date1);//Tue Aug 08 08:08:08 CST 2090
    }
}
获取自1970年1月1日 00:00:00 000到当前系统时间的毫秒数
public class DataTest {
    public static void main(String[] args) {
        long nowTimeMillis = System.currentTimeMillis();
        System.out.println(nowTimeMillis);//1597365825273
    }
}
统计一个方法执行所耗费的时间
public class DataTest {
    public static void main(String[] args) {
        // 在调用目标方法之前记录一个毫秒数
        long begin = System.currentTimeMillis();
        doSome();
        // 在调用目标方法之后记录一个毫秒数
        long end = System.currentTimeMillis();

        System.out.println("耗费时间:"+ (end - begin) + "ms");
    }

    public static void doSome(){
        for (int i = 0; i < 1000; i++) {
            System.out.println("i=" + i);
        }
    }
}
通过毫秒构造Date对象:
import java.text.SimpleDateFormat;
import java.util.Date;

public class DataTest {
    public static void main(String[] args) {
        // 参数是一个毫秒
        Date date = new Date(1);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s1 = simpleDateFormat.format(date);
        System.out.println(s1);//1970-01-01 08:00:00 001

        // 获取昨天的此时的时间
        Date date1 = new Date(System.currentTimeMillis() - 1000*60*60*24);
        String s2 = simpleDateFormat.format(date1);
        System.out.println(s2);

        // 获取去年的今天的时间
        Date date2 = new Date(System.currentTimeMillis() - (long)1000*60*60*24*30*12);
        String s3 = simpleDateFormat.format(date2);
        System.out.println(s3);
    }
}
数字格式化
import java.text.DecimalFormat;

public class DataTest {
    public static void main(String[] args) {
        // #任意数字  ,千分位  .小数点 0不够时补0
        // 加入千分位,保留3为小数
        DecimalFormat  decimalFormat = new DecimalFormat("###,##.###");
        String s1 = decimalFormat.format(12345.9);
        System.out.println(s1);
    }
}
高精度BigDecimal:java.math.BigDecimal,属于大数据,精度极高,不属于基本数据类型,java对象(引用数据类型):
import java.math.BigDecimal;

public class DataTest {
    public static void main(String[] args) {
        // 精度极高的250
        BigDecimal bigDecimal1 = new BigDecimal(250);
        BigDecimal bigDecimal2 = new BigDecimal(350);

        // 调用方法求和
        BigDecimal bigDecimal3 = bigDecimal1.add(bigDecimal2);
        System.out.println(bigDecimal3);//600
    }
}
产生随机的数字
import java.util.Random;

public class DataTest {
    public static void main(String[] args) {
        // 创建随机数对象
        Random random1 = new Random();
        // 随机产生一个int类型取值范围内的数字
        int num1 = random1.nextInt();
        System.out.println(num1);

        // 产生0-100之间的随机数,不能包含101
        int num2 = random1.nextInt(101);
        System.out.println(num2);
    }
}
分享到 :

发表评论

登录... 后才能评论