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. 链式调用Builder

    使用Lombok实现链式调用 1.静态调用 User对象: 对象中必须有一个值不为空staticname作为指定的参数并调用对象 @Accessors(chain = true) @Getter @S ...

  2. 洛谷 P6783 - [Ynoi2008] rrusq(KDT+势能均摊+根号平衡)

    洛谷题面传送门 首先显然原问题严格强于区间数颜色,因此考虑将询问离线下来然后用某些根号级别复杂度的数据结构.按照数颜色题目的套路,我们肯定要对于每种颜色维护一个前驱 \(pre\),那么答案可写作 \ ...

  3. 解决mac电脑耳机/外放突然无声音

    问题现象 mac电脑基本不会关机,近期发送隔一段时间出现网易云音乐可以播放但是耳机.外放均无声音的问题.此时,电脑本身的声音提示.远程会议声音均正常. 解决方法 网上搜了一圈解决方案,最后发现是输出设 ...

  4. LearnPython_week3

    函数说明 1 # -*- coding:utf-8 -*- 2 # Author:Wong Du 3 4 5 ###函数, 6 # 能避免代码重复, 7 # 方便代码修改等操作 8 def wong( ...

  5. MySQL深层理解,执行流程

    MySQL是一个关系型数据库,关联的数据保存在不同的表中,增加了数据操作的灵活性. 执行流程 MySQL是一个单进程服务,每一个请求用线程来响应, 流程: 1,客户请求,服务器开辟一个线程响应用户. ...

  6. IPFS是什么?IPFS原理、IPFS存储

    以下内容调研截止到2021/11/5日 IPFS简介 IPFS是一种内容可寻址.点对点.分布式文件系统.IPFS采用内容-地址寻址技术,即通过文件内容进行检索而不是通过文件的网络地址.简单来说,就是对 ...

  7. Java 数据类型转化

    目录 Java类型转化 基本数据类型自动类型转换 自动类型提升 强制类型转换 - 自动类型提升的逆运算 int与long int类型与String类型 int类型转换成String类型 方法1:+ 拼 ...

  8. 日常Java 2021/9/27

    题目: 在某个比赛中,有6个评委为参赛的选手打分,分数为1-100的随机整数.选手的最后得分为:除去最高分和最低分后的4个评委分值的平均值(不考虑小数部分). package m; import ja ...

  9. Kafka入门教程(二)

    转自:https://blog.csdn.net/yuan_xw/article/details/79188061 Kafka集群环境安装 相关下载 JDK要求1.8版本以上. JDK安装教程:htt ...

  10. C语言把数字转换为字符串的函数

    博主原文 C语言itoa()函数和atoi()函数详解(整数转字符C实现) C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. 1.int/float to st ...