• java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象


    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
          }
      }


  • 相关阅读:
    【z02】选择客栈
    JavaEE(22)
    驱动表问题
    影响子查询展开的情况
    SQL*Net message from client
    等值链接和非等值链接
    ||拼接列关联和直接关联区别
    分页SQL优化
    SQL*Net more data to client
    SQL*Net message to client
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14630575.html
Copyright © 2020-2023  润新知