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. 洛谷 P2257 - YY的GCD(莫比乌斯反演+整除分块)

    题面传送门 题意: 求满足 \(1 \leq x \leq n\),\(1 \leq y \leq m\),\(\gcd(x,y)\) 为质数的数对 \((x,y)\) 的个数. \(T\) 组询问. ...

  2. 打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

    在 MySQL ShardingSphere-Proxy 逐渐成熟并被广泛采用的同时,ShardingSphere 团队也在 PostgreSQL ShardingSphere-Proxy 上持续发力 ...

  3. kafka安装(单机版)

    一.安装kafka(单机版) 因为现在的kafka安装包都自带zookeeper,所以如果是安装本地单机版kafka,不需要额外去安装zookeeper,使用自带的就可以了. 1.下载kafka 2. ...

  4. 大数据学习day17------第三阶段-----scala05------1.Akka RPC通信案例改造和部署在多台机器上 2. 柯里化方法 3. 隐式转换 4 scala的泛型

    1.Akka RPC通信案例改造和部署在多台机器上  1.1 Akka RPC通信案例的改造(主要是把一些参数不写是) Master package com._51doit.akka.rpc impo ...

  5. JTable 单元格合并 【转】

    单元格合并 一.单元格合并.(1)我们可以使用Jtable的三个方法:getCellRect(),columnAtPoint(),and rowAtPoint().第一个方法返回一个单元格的边界(Re ...

  6. spring boot集成swagger文档

    pom <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifa ...

  7. ganglia -api

    setup 命令: virtualenv ve source ve/bin/activate pip install -r requirements.txt python ganglia/gangli ...

  8. mysql之join浅析

    1.可以使用join吗?使用join有什么问题呢?-- >超过3个表不使用join,笛卡尔积问题 -->这些问题是怎么造成的呢? 如果可以使用 Index Nested-Loop Join ...

  9. 【Linux】【Services】【DNS】使用Bind搭建DNS服务

    1. 简介 1.1. 实现的功能:DNS解析以及智能转发 1.2. 官方文档: 1.3. 基础概念:http://www.cnblogs.com/demonzk/p/6494968.html 2. 环 ...

  10. 【Linux】【Basis】用户、组和权限管理

    1. 概念: 1.1. 每个使用者都有,用户标识UID和密码:并且有身份(Authentication),授权(Authorization),审计(Audition):组(用户组,用户容器) 1.2. ...