NumberFormat类

该类是一个做数字格式化的类,它是一个抽象类,无法实例化。它提供了parse()和format()方法,其中format用于将数值,格式转化成字符串,parse()用于把字符串转化成数值,日期。

NumberFormat提供了四个方法,来获取对应的子类:

(1),NumberFormat.getNumberInstance(Local local); 获取通用的数据格式
(2),NumberFormat.getPercentInstance(Local local); 获取百分数格式
(3),NumberFormat.getCurrencyInstance(Local local); 获取货币格式
(4),NumberFormat.getIntegerInstance(Local local); 获取整数格式
注:Local local 是地区/国家,每种国家的格式不一样,通过如上四种之一返回子类。调用子类的format方法 获取传入值返回格式化写法
package com.zmd.common_class_libraries;

import java.text.NumberFormat;
import java.util.Locale; /**
* @ClassName NumberFormatExample
* @projectName: object1
* @author: Zhangmingda
* @description: 数字格式化
* date: 2021/4/8.
*/
public class NumberFormatExample {
public static void main(String[] args) {
double testNum = 18000.3323;
Locale[] locales = {Locale.CHINA, Locale.JAPAN, Locale.US};
NumberFormat[] numberFormats = new NumberFormat[12];
for(int i = 0; i<locales.length; i++){
numberFormats[i * 4] = NumberFormat.getInstance(locales[i]);
numberFormats[i * 4 + 1] = NumberFormat.getPercentInstance(locales[i]);
numberFormats[i * 4 + 2] = NumberFormat.getCurrencyInstance(locales[i]);
numberFormats[i * 4 + 3] = NumberFormat.getIntegerInstance(locales[i]);
}
for(int i=0;i<locales.length; i++){
System.out.println("数字格式=========" + locales[i]);
System.out.println("通用数字格式:" + numberFormats[i * 4].format(testNum));
System.out.println("百分比格式:" + numberFormats[i * 4 + 1].format(testNum));
System.out.println("货币格式:" + numberFormats[i * 4 + 2].format(testNum));
System.out.println("数字格式:" + numberFormats[i * 4 + 3].format(testNum));
}
}
}

DateFormat类:固定的时间日期格式(只能转化Date()对象)

与NumberFormat相似的是,DateFormat也是一个抽象类,它提供了如下几个类方法获取DateFormat对象。
(1),getDateInstance:返回一个日期格式对象,格式化之后的字符串只有日期
(2),getTimeInstance:返回一个时间日期格式对象,格式化之后的字符串只有时间
(3),getDateTimeInstance:返回一个日期时间格式对象,格式化之后的字符串有时间也有日期。

创建对象实例格式:

getDateInstance(int style, Locale aLocale)
getTimeInstance(int style, Locale aLocale) 
getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
对象.format(Date Object)转换已有Date()对象到对应格式
 
package com.zmd.common_class_libraries;

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale; /**
* @ClassName DateFormatExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/8.
*/
public class DateFormatExample {
public static void main(String[] args) {
Date date = new Date();
System.out.println("===============日期格式化=====================");
System.out.println(DateFormat.getDateInstance(DateFormat.SHORT, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA).format(date));
System.out.println("===============时间格式化=====================");
System.out.println(DateFormat.getTimeInstance(DateFormat.SHORT, Locale.CHINA).format(date));
System.out.println(DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.CHINA).format(date));
System.out.println(DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA).format(date));
System.out.println(DateFormat.getTimeInstance(DateFormat.FULL, Locale.CHINA).format(date));
System.out.println("===============日期时间格式化=====================");
System.out.println(DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, Locale.CHINA).format(date));
System.out.println(DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT, Locale.CHINA).format(date));
}
}

SimpleDataFormat类:自定义时间格式,只能转换Date()对象

语法:
  1. 需要new创建实例 :DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  2. 再用实例的format(Date()对象)解析
  3. 反向解析使用解析实例的parse(“DateTimeString”)方法
 代码示例:

package com.zmd.common_class_libraries;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date; /**
* @ClassName SimpleDateFormatExample
* @projectName: object1
* @author: Zhangmingda
* @description: 自定义Data()对象的日期时间输出格式
* date: 2021/4/8.
*/
public class SimpleDateFormatExample {
public static void main(String[] args) throws ParseException {
//获取时间Date()对象
Date date = new Date();
LocalDateTime localDateTime = LocalDateTime.now();
Calendar calendar = Calendar.getInstance();
System.out.println(); //正向自定义格式化输出时间格式,只能转换Date()类对象
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(calendar.getTime()));
//反向解析字符串返回时间实例
String datetime = "2021-04-08 08:44:58";
Date date1 = dateFormat.parse(datetime); //需要抛出异常 throws ParseException
System.out.println(date1);
}
}

DateTimeFormatter 转换LocalDateTime时间对象到指定String格式

语法:

  1.  调用DateTimeFormatter的静态方法ofPattern创建解析实例:DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  2. 再使用解析实例的format()方法对LocalDateTime类对象解析
  3. 反向解析使用DateTimeFormatter的静态方法 parse(CharSequence text, DateTimeFormatter formatter) 传入时间字符串和解析用实例。
    package com.zmd.common_class_libraries;
    
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter; /**
    * @ClassName DateTimeFormatterExample
    * @projectName: object1
    * @author: Zhangmingda
    * @description: 自定义Data()对象的日期时间输出格式
    * date: 2021/4/8.
    */
    public class DateTimeFormatterExample {
    public static void main(String[] args) {
    //LocalDateTime对象的时间,转换为指定格式String
    LocalDateTime localDateTimeNow = LocalDateTime.now();
    System.out.println(localDateTimeNow); //2021-04-08T11:53:11.585965900
    //创建解析对象,使用format方法解析
    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    System.out.println(dateTimeFormatter.format(localDateTimeNow)); //2021-04-08 11:53:11 //时间String 转换为LocalDateTime对象,使用parse实例化
    String datetimeStr = "2021-04-08 11:31:02";
    LocalDateTime localDateTime = LocalDateTime.parse(datetimeStr, dateTimeFormatter);
    System.out.println(localDateTime); //2021-04-08T11:31:02
    }
    }



java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象的更多相关文章

  1. java 常用类库:操作系统System类,运行时环境Runtime

    System类: System 类代表Java程序的运行平台,程序不能创建System类的对象, System类提供了一些类变量和类方法,允许直接通过 System 类来调用这些类变量和类方法. Sy ...

  2. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  3. Java 常用类库与技巧【笔记】

    Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...

  4. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  5. Java面向对象_常用类库api——日期操作类

    Data类 类Data表示特定的瞬间,精确到毫秒,也就是程序运行时的当前时间 Data data=new Data();//实例化Data对象,表示当前时间 Calendar类 日历类,使用此类可以将 ...

  6. java 常用类库:Object类和Objects类

    1,Object类: Object类是所有的类,数组,枚举的父类,也就是说,JAVA中允许把任何的对象赋值给Object类(包括基础数据类型),当定义一个类的时候,没有使用extends关键字显示指定 ...

  7. java 常用类库:时间类LocalDate;LocalTime;LocalDateTime;Calendar 类;Date ;

    LocalDate类 LocalDate类代表不带时区的日期,列入2020-12-20.该类提供了静态的now()方法来获取当前的日期.这个类是线程安全的. LocalTime类 代表不带时区的时间, ...

  8. Java常用类库2

    1.java.util.Date类 package LESSON9; import java.util.Date; public class demo1 { public static void ma ...

  9. java常用的格式化

    日常工作中,总会遇到一些格式化显示的需求,下面做一些简单的整理 JDK中java.text下提供了格式化常用的工具类,具体结构见下图 时间日期格式化 DateFormat 采用DateFormat.g ...

随机推荐

  1. 【玩具】使用Python自动化发送微信消息进行订水

    事情是这样的,我知道淘宝上有卖一种USB接口的大按钮,估计是给工厂或者医院之类的场景设计的,样子长这样: 然后我就一直挺想搞一个的,不为别的,就是玩,但是想来想去也没想到这玩意儿对我而言能有啥用途,就 ...

  2. 【2020五校联考NOIP #6】最佳观影

    题意: 给出一个 \(k \times k\) 的网格和 \(n\) 次操作.其中 \(k\) 为奇数. 每次操作给出一个数 \(m\).每次你要找出一个三元组 \((x,l,r)\) 使得: \(r ...

  3. SPOJ 1557 GSS2 - Can you answer these queries II (线段树+维护历史最值)

    都说这题是 GSS 系列中最难的,今天做了一下,名副其实 首先你可以想到各种各样的在线乱搞想法,线段树,主席树,平衡树,等等,但发现都不太可行. 注意到题目也没有说强制在线,因此可以想到离线地去解决这 ...

  4. Python基础之流程控制if判断

    目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...

  5. Netty | 第1章 Java NIO 网络编程《Netty In Action》

    目录 前言 1. Java 网络编程 1.1 Javs NIO 基本介绍 1.2 缓冲区 Buffer 1.2 通道 Channel 1.3 选择器 Selector 1.4 NIO 非阻塞网络编程原 ...

  6. acid, acknowledge, acquaint

    acid sulphuric|hydrochloric|nitric|carbolic|citric|lactic|nucleic|amino acid: 硫|盐|硝|碳|柠檬|乳|核|氨基酸 王水是 ...

  7. 转 GSON

    转 https://www.jianshu.com/p/75a50aa0cad1 GSON弥补了JSON的许多不足的地方,在实际应用中更加适用于Java开发.在这里,我们主要讲解的是利用GSON来操作 ...

  8. canal整合springboot实现mysql数据实时同步到redis

    业务场景: 项目里需要频繁的查询mysql导致mysql的压力太大,此时考虑从内存型数据库redis里查询,但是管理平台里会较为频繁的修改增加mysql里的数据 问题来了: 如何才能保证mysql的数 ...

  9. Dubbo管控平台

    2019年初,官方发布了Dubbo管理控制台0.1版本.结构上采取了前后端分离的方式,前端使用Vue和Vuetify分别作为Javascript框架和UI框架,后端采用Spring Boot框架 一. ...

  10. 编译安装nginx 1.16

    准备源码包,并解压,创建nginx用户 [root@slave-master ~]# tar xf nginx-1.16.0.tar.gz [root@slave-master ~]# useradd ...