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. [CF707 Div2, A ~ D]

    (相信进这个博客的人,都已经看过题目了,不再赘述) 这把打小号打到了\(484\),\(rating + 636\) \(A\) 考虑进行模拟就行了,说白了这是一个英语阅读题 // code by D ...

  2. C++ and OO Num. Comp. Sci. Eng. - Part 2.

    本文参考自<C++ and Object-Oriented Numeric Computing for Scientists and Engineers>. 1. Basic Types ...

  3. SR4R数据库:水稻4个SNP集的筛选及其应用

    目录 前言 四个SNP集 hapmapSNPs tagSNPs fixedSNPs barcodeSNPs hapmapSNPs的指标统计 tagSNPs的群体结构验证 tagSNPs的遗传多样性 t ...

  4. Mysql 预处理 PREPARE以及预处理的好处

    Mysql 预处理 PREPARE以及预处理的好处 Mysql手册 预处理记载: 预制语句的SQL语法在以下情况下使用:   · 在编代码前,您想要测试预制语句在您的应用程序中运行得如何.或者也许一个 ...

  5. ss 显示socket状态

    ss ===show socket用于显示socket状态 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xserver的本地进 ...

  6. perl中tr的用法(转载)

    转载:http://blog.sina.com.cn/s/blog_4a0824490101hncz.html (1)/c表示把匹配不上的字符进行替换. $temp="AAAABCDEF&q ...

  7. IDEA修改数据库信息,结果修改信息中文成 ?

    今天在用IDEA进行插入数据库信息时,发生了一件意想不到的事情,特意记录一下,方便后续查看: 就是我在IDEA的驱动文件中配置了useUnicode = true & characterEnc ...

  8. 关于redis HSCAN count参数不生效的问题

    这的确是个坑,HSCAN是为了处理大量数据而设计的,可能也是因为这个原因,在数据量较少的情况下count参数并不会生效,具体阈值是多少并没有实际测验过不过可以断定的是一百条数据一下估计是不会生效的.

  9. Learning Spark中文版--第三章--RDD编程(1)

       本章介绍了Spark用于数据处理的核心抽象概念,具有弹性的分布式数据集(RDD).一个RDD仅仅是一个分布式的元素集合.在Spark中,所有工作都表示为创建新的RDDs.转换现有的RDD,或者调 ...

  10. 13.Vue.js 组件

    组件(Component)是 Vue.js 最强大的功能之一. 组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽 ...