Java 常用类库之util包和text包
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 常用类库之util包和text包相关的知识,希望对你有一定的参考价值。
目录
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 SE基础部分——常用类库之SimpleDateFormat(日期格式化)