一、日期和时间字符串格式化
/** 日期格式化
* %te 一个月中的某一天(1~31)
* %tb 指定语言环境的月份简称
* %tB 指定语言环境的月份全称
* %tA 指定语言环境的星期几全称
* %ta 指定语言环境的星期几简称
* %tc 包括全部日期和时间信息
* %tY 4位年份
* %tj 一年中的第几天(001-366)
* %tm 月份
* %ty 2位年份
*/
/** 时间格式化
* %tH 2位数字的24时制的小时(00-23)
* %tI 2位数字的12时制的小时(01-12)
* %tk 2位数字的24时制的小时(0-23)
* %tl 2位数字的12时制的小时(1-12)
* %tM 2位数字的分钟(00-59)
* %tS 2位数字的秒数 (00-60)
* %tL 3位数字的毫秒数(000-999)
* %tN 9位数字的微秒数(000000000-999999999)
* %tp 指定语言的上午或下午标记
* %tz 相对于GMT RFC 82格式的数字时区偏移量
* %tZ 时区缩写形式的字符串
* %ts 1970-01-01 00:00:00 至现在的秒数
* %tQ 1970-01-01 00:00:00 至现在的毫秒数
*/
/** 常见的日期和时间组合的格式
* %tF 年-月-日
* %tD 月/日/年
* %tc 全部日期和时间信息
* %tr 时:分:秒 PM(AM) 12时制
* %tT 时:分:秒 24时制
* %tR 时:分 24时制
*/
Date date = new Date(); // 2019-07-29
//一个月中的第几天 29
String day = String.format("%te", date);
//指定语言环境的月份简称 七月(中文) July(英文)
String month = String.format("%tb", date);
//指定语言环境的月份全称
String allMonth = String.format("%tB", date);
//4位年份 2019
String year = String.format("%tY", date);
//数字格式化
/** DecimalFormat类中特殊字符串
* 0 代表阿拉伯数字,使用特殊字符“0”,如果该位不存在数字,则显示0
* # 代表阿拉伯数字,使用特殊字符“#”,如果该位存在数字,则显示字符,不存在数字,则不显示
* . 小数分隔符或货币小数分隔符
* - 负号
* , 分组分隔符
* E 分隔科学计数法中的尾数和指数
* % 本符号放置在数字的前缀或后缀,将数字乘以100显示为百分数
* u2030 本符号放置在数字的前缀或后缀,将数字乘以100显示为千分位
* u00A4 本符号放置在数字的前缀或后缀,作为货币记号
* ' 本符号为单引号,视为普通符号处理
*/
DecimalFormat decimalFormat = new DecimalFormat("###,###.###");
String value = decimalFormat.format(12345.12);