格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式。例如将日期“Fri May 18 15:46:24 CST2016” 格式转换为 “2016-5-18 15:46:24 星期五”的格式。

在 Java 中,可以使用 DateFormat 类和 SimpleDateFormat 类和String类来格式化日期,下面详细介绍这两个格式化日期类的使用。

DateFormat 类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期→文本)、解析(文本→日期)和标准化日期。

在创建 DateFormat 对象时不能使用 new 关键字,而应该使用 DateFormat 类中的静态方法 getDateInstance(),示例代码如下:

DateFormatdf=DateFormat.getDatelnstance();

在创建了一个 DateFormat 对象后,可以调用该对象中的方法来对日期/时间进行格式化。DateFormat 类中常用方法如表 1 所示。

表 1 DateFormat类的常用方法

方法

描述

String format(Date date)

将 Date 格式化日期/时间字符串

Calendar getCalendar()

获取与此日期/时间格式相关联的日历

static DateFormat getDateInstance()

获取具有默认格式化风格和默认语言环境的日期格式

static DateFormat getDateInstance(int style)

获取具有指定格式化风格和默认语言环境的日期格式

static DateFormat getDateInstance(int style,Locale locale)

获取具有指定格式化风格和指定语言环境的日期格式

static DateFormat getDateTimeInstance()

获取具有默认格式化风格和默认语言环境的日期/时间格式

static DateFormat getDateTimeInstance(intdateStyle,int timeStyle)

获取具有指定日期/时间格式化风格和默认语言环境的日期/时间格式

static DateFormat getDateTimeInstance(int dateStyle,int timeStyle,Locale locale)

获取具有指定日期/时间格式化风格和指定语言环境的日期/时间格式

static DateFormat getTimeInstance()

获取具有默认格式化风格和默认语言环境的时间格式

static DateFormat getTimeInstance(int style)

获取具有指定格式化风格和默认语言环境的时间格式

static DateFormat getTimeInstance(int style,Locale locale)

获取具有指定格式化风格和指定语言环境的时间格式

void setCalendar(Calendar newCalendar)

为此格式设置日历

Date parse(String source)

将给定的字符串解析成日期/时间

格式化样式主要通过 DateFormat 常量设置。将不同的常量传入到表 1 所示的方法中,以控制结果的长度。DateFormat 类的常量如下。

SHORT:完全为数字,如12.5.10或5:30pm。

MEDIUM:较长,如May10,2016。

LONG:更长,如May12,2016或11:15:32am。

FULL:是完全指定,如Tuesday、May10、2012AD或11:l5:42amCST。

使用 DateFormat 类格式化曰期/时间的示例如下:

// 获取不同格式化风格和中国环境的日期

DateFormatdf1=DateFormat.getDateInstance(DateFormat.SHORT,Locale.CHINA);

DateFormatdf2=DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA);

DateFormatdf3=DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.CHINA);

DateFormatdf4=DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA);

// 获取不同格式化风格和中国环境的时间

DateFormatdf5=DateFormat.getTimeInstance(DateFormat.SHORT,Locale.CHINA);

DateFormatdf6=DateFormat.getTimeInstance(DateFormat.FULL,Locale.CHINA);

DateFormatdf7=DateFormat.getTimeInstance(DateFormat.MEDIUM,Locale.CHINA);

DateFormatdf8=DateFormat.getTimeInstance(DateFormat.LONG,Locale.CHINA);

// 将不同格式化风格的日期格式化为日期字符串

Stringdate1=df1.format(newDate());

Stringdate2=df2.format(newDate());

Stringdate3=df3.format(newDate());

Stringdate4=df4.format(newDate());

// 将不同格式化风格的时间格式化为时间字符串

Stringtime1=df5.format(newDate());

Stringtime2=df6.format(newDate());

Stringtime3=df7.format(newDate());

Stringtime4=df8.format(newDate());

// 输出日期

System.out.println("SHORT:"+date1+" "+time1);

System.out.println("FULL:"+date2+" "+time2);

System.out.println("MEDIUM:"+date3+" "+time3);

System.out.println("LONG:"+date4+" "+time4);

运行该段代码,输出的结果如下:

SHORT:18-10-15上午9:30

FULL:2018年10月15日星期一上午09时30分43秒CST

MEDIUM:2018-10-159:30:43

LONG:2018年10月15日上午09时30分43秒

该示例主要介绍了 DateFormat 类中方法与常量的结合使用,通过使用 DateFomat 类可以对日期进行不同风格的格式化。

java日期格式化 类_Java日期格式化(DateFormat类)相关推荐

  1. java dateformat类_java基础之DateFormat类

    DateFormat DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间. 是抽象类,所以使用其子类SimpleDateFor ...

  2. java格式化日期时分秒_Java 日期、时间类,日期、时间的格式化

    Java提供了Date.Calendar两个类用于处理日期.时间. 但Date的大部分构造器.方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库. 1.D ...

  3. java 格式化解析_java日期格式化、解析

    今天移植别人的通用工具类,涉及到了日期的格式化.解析,学习结果记录如下. 日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat.SimpleDateFormat为用户 ...

  4. java 日期格式常量_Java 日期格式类

    Java格式 - Java日期格式类 Java 8有新的Date-Time API来处理日期和时间. 我们应该使用新的Java 8 Date-Time API来格式化和解析日期时间值. 如果我们正在编 ...

  5. java时间的正则表达式_java日期相关的类正则表达式

    常用的API Date.Math.DateFormat.Calendar.正则表达式 Data类 public class DateDeom { public static void main(Str ...

  6. java 包结构 枚举类_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  7. java 日期的工具类_java 日期时间工具类

    package org.apache.pwd.util; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...

  8. java时间日期工具类_java日期处理工具类

    java日期处理工具类 import java.text.DecimalFormat; import java.text.ParsePosition; import java.text.SimpleD ...

  9. 在java中原始时间_Java 日期时间

    Java 日期时间 java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二 ...

  10. java 日期和时间_java 日期与时间操作

    我们先来了解一下基本的概念 日期 2020-11-21 2020-11-22 时间 15:36:43 2020-11-21 15:36:43 时区 北京时间 2020-11-21 15:36:43 东 ...

最新文章

  1. 存在描述所有生命的方程吗?
  2. mysql数据库连接过多的错误,可能的原因分析及解决办法
  3. day15(mysql 的多表查询,事务)
  4. 如果你还不明白Hello,World!
  5. 最佳牛围栏题解 二分答案
  6. 如何让Div层悬浮在Flash Object对象之上(转载)
  7. 大数据技术原理与应用-林子雨课后(部分习题答案)
  8. Excel如何将数据填充完下方的空白单元格
  9. KnockOutJS入门
  10. 产品经理如何实现自我提升
  11. [Unity][NGUI]Sprite精灵的Type九宫格切割Sliced没效果
  12. linux删除文件子最后两行,关于linux:如何使用sed删除文件的最后n行
  13. 数学基础 - 第十八章 平行四边形
  14. android 全局换字体,Android 全局替换字体
  15. 2018拼多多校招【大整数相乘】Python解法
  16. capex与opex的区别
  17. 最新v4.2版本CRMEB商城API接口文档标准版后台(一)
  18. 【福利】2020年通信行业研究报告汇总下载(免费)
  19. arcgis软件的问题
  20. WPF实现简单的颜色调色板功能

热门文章

  1. 关于H264相关的EBSP,RBSP,SODP的说明
  2. ubuntu下virtualbox安装windows7
  3. UDP数据包的产生和发送
  4. 一阶滞后环节matlab,一个一阶惯性带有滞后环节的PID仿真程序
  5. APP自动化-显示等待/强制等待/命令等待
  6. 网络虚拟化-云计算-虚拟网络基础架构-软件定义网络(SDN)-控制器
  7. 我常去的编程技术网站
  8. 汇编学习 step by step
  9. 汇编原理6:opcode
  10. 诺基亚s40机破权相关说明