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
}
}