您的位置 首页 java

Java SimpleDateFormat 基础使用这一篇足够了

java SimpleDateFormat 知识点使用

思维导图

对于 SimpleDateFormat 类, 是一个用来区分区域设置的方式进行日期的是指, 以及对日期进行处理分析的一个实现类。 它对于时间类型可以进行格式化操作, 通常可以进行 “日期“ 转换成 “ 字符串 ”,当然也可以 “字符串” 转换成 “日期“ 。

该类的定义为:

 public class SimpleDateFormatextends DateFormat  

Format

先让我们看看继承的两个 抽象类 都是做什么用的。 先看一下 Java .text.Format 抽象类

 public  abstract  class Format
 extends  Object
implements  Serializable , Cloneable  

首先看 构造方法 , 该抽象类就一个构造方法:

 protected Format()  

包含了一个嵌套类

 public  static  class Field extends AttributedCharacterIterator.Attribute  

对于抽象基类 Format,主要是用于设置区域,设置敏感信息的格式, 比如:日期、消息和数字。

对于 Java 平台提供了三个专业的子类, 分别是:DateFormat(格式化日期)、MessageFormat(格式化消息) 以及 NumberFormat(格式化数字)。

对于具体的子类, 必须实现其中的三个方法。分别是:

  • format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
  • formatToCharacterIterator(Object obj)
  • parseObject(String source, ParsePosition pos)

这三个通用的方法允许对对象进行多态解析和格式化。

这里只讲解 DateFormat 的格式。

DateFormat

定义内容如下:

 public abstract class DateFormat extends Format   

对于该日期格式化的抽象类中,定义了大量的类静态常量,主要是用来进行时间操作的时候的一些魔法值的定义。

并重新扩展了很多的便于时间操作的静态常量方法。

具体如下:

对于构造函数, 也是只有默认的 构造函数

对应的方法有:

对于 DateFormat 的类, 提供了很多类方法, 帮助您格式化和分析区域设置的日期 。可以用于设置, 月份、星期几、以及 日历 格式,对于日历格式又包含阴历和阳历。

对于抓换的时间格式, 分为四种不同的可选情况:

  • SHORT 缩写的年份格式, 以及时分。 例如:12.13.52 3:30pm 对于 实现类 SimpleDateFormat 默认是这个。
  • MEDIUM 对应的完整的年份。例如: 2021.12.25
  • LONG 包含年月日和时分秒的格式
  • FULL 包含年月日,时分秒,以及星期的太平洋标准时间。

以上的类都是抽象类, 如果想实现时间的处理和格式化的显示, 都是需要我们重新实现一些功能。最终我们可以使用的实现类为: SimpleDateFormat

SimpleDateFormat

该类是具体的使用类。 包含了几个构造函数, 都是为了使用方便。 区别在于是否要设置格式规则, 已经设置时区区域。

默认的构造函数, 可以通过

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat();  

使用默认的构造函数, 定义一个时间格式化对象。 定义如下, 可以看到使用了 SHORT 格式化。

 public SimpleDateFormat() {
    this("",  Locale .getDefault(Locale.Category.FORMAT));
    applyPatternImpl(LocaleProviderAdapter.getResourceBundleBased()
         .getLocaleResources(locale)
         .getDateTimePattern(SHORT, SHORT, calendar));
}  

举个例子:

既然可以格式化, 我们怎么定义格式化的内容的。 比方说, 我们通常使用的格式:2021-12-25 09:00:00。

我们可以定义成如下:

 yyyy-MM-dd HH:mm:ss.S  

这其中的 y 啊 M 啊, 都是什么意思呢, 又是小写的 m 又是大写的 M。又代表着什么?

对应的方法有:

除了编写构造方法, 还可以使用 applyPattern(String pattern) 进行指定格式。

在使用中, 特别是 web 的开发中经常的会使用进行格式的转换。 用户的录入时间, 然后转换成对应的日期对象。根据上面的规则, 我们可以写个小日历。 显示当前月日历。

 simpleDateFormat.applyPattern("今天 E yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒 ");    

对于 SimpleDateFormat 的基础用法先到这, 后期到 Web 开发的时候, 在来进行另外的知识点引申。

今日一句:最好的职场和人生状态其实是既着眼于未来,关注价值;又专注于当下,完成任务。 就想现在虽然每天都在输出基础的知识, 这都是为了后续更好的实战而做的准备, 因为这样你猜能说某某实战引用了某某知识点。 可以加以引申。但是实际呢,每天的开发任务还是不能少。 毕竟那才是养家糊口的必要。这只能是自己的输入和输出的一个平台。

点赞, 关注, 收藏。 感谢阅读。

文章来源:智云一二三科技

文章标题:Java SimpleDateFormat 基础使用这一篇足够了

文章地址:https://www.zhihuclub.com/181601.shtml

关于作者: 智云科技

热门文章

网站地图