Java 常用类库之util包和text包

Posted 洛阳泰山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 常用类库之util包和text包相关的知识,希望对你有一定的参考价值。

目录

 java.util包

java.util.Date类

java.util.Calendar类 

java.text包 

 java.text.DateFormat类

 java.text.SimpleDateFormat类 

 java.text.NumberFormat类

java.text.DecimalFormat类

作业


 java.util包

 java.util包中放置了Java开发过程中常用的工具类,如日期时间类,日历类等等
 java.util包常用类

  • Date
  • Calendar及其子类
  • 集合接口以及实现类
  • 集合工具类
  • 数组工具类等等

java.util.Date类

Date类表示特定的时间,可以精确到毫秒。
Date类的构造方法
Date() 无参构造方法
Date(long time) 有长整形参数的构造方法
其他构造方法已经废弃不用
Date类常用方法
 long  getTime();返回1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
 String toString();将Date对象转换为字符串,默认的转换格式为:dow mon dd hh:mm:ss zzz yyyy

java.util.Calendar类
 

java.util.Date类中获取当前年、月、日和将时间格式化以及将字符串类型的日期转换为Date对象的方法都已经被废弃。
如果想要获取Date对象的年、月、日、星期等操作,需要使用Calendar类以及其子类完成。
Calendar是一个抽象类,它为获取和修改年、月、日、星期等日历字段提供了一系列的方法。

Calendar常用方法

  • Calendar getInstance();返回一个Calendar对象
  • void set(int field,int x);设置日历字段的值
  • int get(int field);获取某个日历字段的值
  • java.util.Date getTime();返回代表该日历对象的Date值
  • void setTime(java.util.Date date);使用指定的Date设置该日历对象

常用的日历字段

  • AM_PM 上午或者下午
  • YEAR 年
  • MONTH 月
  • DATE 日
  • HOUR 12小时制
  • HOUR_OF_DAY 24小时制
  • MINUTE 分钟
  • SECOND 秒
  • MILLISECOND 毫秒
     

GregorianCalendar是Calendar的一个直接子类
提供了世界上大多数国家/地区使用的标准日历系统,即中国所谓的阳历或者公历
常用方法

  •  boolean isLeapYear(int year) 判断指定年份是不是闰年
  •  void add(int field ,int x)为指定的日历字段增加值

java.text包 

提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口
 java.text包常用类或者接口

  • DateFormat以及子类SimpleDateFormat
  • NumberFormat以及子类DecimalFormat

 java.text.DateFormat类

  • DateFormat是一个抽象的时间格式化类
  • DateFormat 是日期/时间格式化的抽象类,它以与语言无关的方式格式化并解析日期或时间。
  • DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。
  • 在格式化和解析日期时间过程中,其子类SimpleDateFormat更为常用

 java.text.SimpleDateFormat类 

SimpleDateFormat类是一个以与语言环境有关的方式来格式化和解析日期的具体类
它提供了格式化日期时间(日期时间>>字符串)和解析日期时间(字符串>>日期时间)的方法
SimpleDateFormat构造方法

  • SimpleDateFormat()
  • SimpleDateFormat(String pattern) 按照指定的模式创建SimpleDateFormat对象

日期时间模式 

常用方法

  • String format(Date date);将一个java.util.Date对象按照指定的模式格式化为日期
  •  Date parse(String date);将一个日期字符串按照指定模式解析为java.util.Date类型的对象

 代码示例


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatTest 
    public static void main(String[] args) 
        //根据指定模式创建SimpleDateFormat对象
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
        //创建日期对象
        Date date=new Date();
        //将Date对象按照yyyy年MM月dd日的模式格式化为字符串
        String text=sdf.format(date);
        //输入内容类似于2022年02月03日
        System.out.println(text);
        //创建字符串类型日期
        String dateStr="2022年02月03日";
        try 
            //将字符串日期按照yyyy年MM月dd日的模式解析为Date对象
            Date date1=sdf.parse(dateStr);
            //输入解析的时间对象
            System.out.println(date1);
         catch (ParseException e) 
            //打印出解析字符串时间的异常
            e.printStackTrace();
        
    

 java.text.NumberFormat类

NumberFormat是一个数字格式化抽象类
该类提供了格式化和解析数值的方法
常用方法

  • String format(double d)将数字格式化为字符串
  • Number parse(String s)将字符串解析为数字
  • void  setMaximumFractionDigits(int newValue)设置最大小数位
  • void  setMinimumFractionDigits(int newValue) 设置最小小数位

通常情况下会使用其子类DecimalFormat格式化或者解析数字

java.text.DecimalFormat类


DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。
构造方法

  • DecimalFormat()
  • DecimalFormat(String pattern)按照指定模式构建对象
     

数字模式字符


 

常用方法

  • String format(double d);格式化数字为字符串
  • Number parse(String str);解析字符串数字为Number对象

 代码示例


import java.text.DecimalFormat;
import java.text.ParseException;

public class DecimalFormatTest 
    public static void main(String[] args) 
        //创建#,###,###.0模式的DecimalFormat对象
        DecimalFormat df=new DecimalFormat("#,###,###.0");
        //创建一个double类型的数字
        double digit=12345667.9234;
        //将digit格式化为#,###,###.0模式的字符串
        String text=df.format(digit);
        //输出数字格式化后的字符串
        System.out.println(text);
        try 
            //解析文本为#,###,###.0模式的字符串为数字
            Number num= df.parse("1234,032.2131");
            //输出解析后的数字
            System.out.println(num);
         catch (ParseException e) 
            //打印解析异常
            e.printStackTrace();
        
    

作业

作业一:
为了以后开发方便,提供一个日期时间工具类,该类提供如下方法
将Date对象转换为指定模式的字符串对象
将字符串日期时间按照指定模式解析为日期时间对象
作业二:
为以后开发方法,提供一个数字工具类,该类提供如下方法
将数字转换为指定模式的字符串对象
将字符串数字按照指定模式解析为数字
 

以上是关于Java 常用类库之util包和text包的主要内容,如果未能解决你的问题,请参考以下文章

Java 常用类库之lang包

Java 常用类库之lang包

Java SE基础部分——常用类库之SimpleDateFormat(日期格式化)

Java SE基础部分——常用类库之NumberFormat

Java 常用类库之 BigDecimal

Java 常用类库之 Objects