首页 > 编程知识 正文

java 日期格式化大小写,java输出日期格式

时间:2023-05-05 00:18:12 阅读:49099 作者:3559

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

在Java中,可以使用DateFormat类和SimpleDateFormat类来设置日期格式。 接下来,我们将详细介绍这两种格式日期类的使用。

DateFormat类DateFormat是日期/时间格式子类的抽象类,它以与语言无关的方式格式化和解析日期或时间。 日期/时间格式的子类(如SimpleDateFormat )可以设置格式,也就是日期-文本、分析、文本-日期和标准化日期。

创建DateFormat对象时,请不要使用new关键字。 而是使用DateFormat类的静态方法getDateInstance (),如下所示:

date format df=date format.getdatelnstance (;

创建DateFormat对象后,可以调用该对象中的方法设置日期/时间的格式。 DateFormat类中常用的方法如表1所示。

表1 DateFormat类的常用方法是将字符串格式(datedate )为date格式的日期/时间字符串Calendar getCalendar )/与时间格式相关联的日历staticdateformatgetdateinstance )。具有默认格式样式和默认区域设置的日期格式staticdateformatgetdateinstance 具有表达式设置样式和默认区域设置的日期格式staticdateformatgetdateinstance ) intstyle、

Locale locale (获取指定格式样式和指定区域设置的日期格式staticdateformatgetdatetimeinstance )获取默认格式样式和默认区域设置的日期/时间

格式统计数据格式统计数据时间实例(int

dateStyle和int timeStyle具有指定的日期/时间格式样式和默认区域设置

日期/时间格式staticdateformatgetdatetimeinstance (int

dateStyle、int timeStyle和Locale locale具有指定的日期/时间格式样式和指定的区域设置

日期/时间格式staticdateformatgettimeinstance ()具有指定格式样式和默认区域设置的时间格式staticdateformatgettimeinstance (int style ) )

locale locale (voidsetcalendar ) calendarnewcalendar (获取具有指定格式样式和指定区域设置的时间格式)将此格式设置为日历date parse (字符串源),然后单击

格式样式主要由DateFormat常量设置。 为了控制结果的长度,向表1所示的方法传递不同的常数。 DateFormat类的常量如下:

short :完全是数字,例如12.5.10或5:30pm。 medium :像may 10,2016一样长。 长:更长,例如may 12、2016或11:15:32am。 full :完整的指定,例如Tuesday、May 10、2012 AD、11:l5:42am CST。

以下是使用DateFormat类设置期间/时间格式的示例:

//不同格式样式和中国环境的日期date format df1=date format.getdate instance (date format.short,Locale.CHINA ); date format df2=date format.getdate instance (date format.full,Locale.CHINA ); date format df3=date format.getdate instance (date format.medium,Locale.CHINA ); date format df4=date format.getdate instance (date format.long,Locale.CHINA ); //获取不同格式样式和中国环境的时间date format df5=date format.gettime instance (date format.short,Locale.CHINA ); date format df6=date format.gettime instance (date format.full,Locale.CHINA ); date format df7=date format.gettime instance (date format.medium,Locale.CHINA ); date格式df8=date

Format.getTimeInstance(DateFormat.LONG,Locale.CHINA); //将不同格式化风格的日期格式化为日期字符串String date1=df1.format(new Date());String date2=df2.format(new Date());String date3=df3.format(new Date());String date4=df4.format(new Date()); //将不同格式化风格的时间格式化为时间字符串String time1=df5.format(new Date());String time2=df6.format(new Date());String time3=df7.format(new Date());String time4=df8.format(new Date()); //输出日期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:30FULL:2018年10月15日 星期一 上午09时30分43秒 CSTMEDIUM:2018-10-15 9:30:43LONG:2018年10月15日 上午09时30分43秒


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

SimpleDateFormat 类

如果使用 DateFormat 类格式化日期/时间并不能满足要求,那么就需要使用 DateFormat 类的子类——SimpleDateFormat。

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期→文本)、解析(文本→日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期/时间格式的模式。

SimpleDateFormat 类主要有如下 3 种构造方法。

SimpleDateFormat():用默认的格式和默认的语言环境构造 SimpleDateFormat。SimpleDateFormat(String pattern):用指定的格式和默认的语言环境构造 SimpleDateF ormat。SimpleDateFormat(String pattern,Locale locale):用指定的格式和指定的语言环境构造 SimpleDateF ormat。


SimpleDateFormat 自定义格式中常用的字母及含义如表 2 所示。
 

表2 日期/时间格式中的字母及其含义与示例 字母含义示例y年份。一般用 yy 表示两位年份,yyyy 表示 4 位年份使用 yy 表示的年扮,如 11;
使用 yyyy 表示的年份,如 2011M月份。一般用 MM 表示月份,如果使用 MMM,则会
根据语言环境显示不同语言的月份使用 MM 表示的月份,如 05;
使用 MMM 表示月份,在 Locale.CHINA
语言环境下,如“十月”;在 Locale.US
语言环境下,如 Octd月份中的天数。一般用 dd 表示天数使用 dd 表示的天数,如 10D年份中的天数。表示当天是当年的第几天, 用 D 表示使用 D 表示的年份中的天数,如 295E星期几。用 E 表示,会根据语言环境的不同, 显示不
同语言的星期几使用 E 表示星期几,在 Locale.CHINA 语
言环境下,如“星期四”;在 Locale.US 语
言环境下,如 ThuH一天中的小时数(0~23)。一般用 HH 表示小时数使用 HH 表示的小时数,如 18h一天中的小时数(1~12)。一般使用hh表 示小时数使用 hh 表示的小时数,如 10 (注意 10 有
可能是 10 点,也可能是 22 点)m分钟数。一般使用 mm 表示分钟数使用 mm 表示的分钟数,如 29s秒数。一般使用 ss 表示秒数使用 ss 表示的秒数,如 38S毫秒数。一般使用 SSS 表示毫秒数使用 SSS 表示的毫秒数,如 156

例 1

编写 Java 程序,使用 SimpleDateFormat 类格式化当前日期并打印,日期格式为“xxxx 年 xx 月 xx 日星期 xxx 点 xx 分 xx 秒”,具体的实现代码如下:

  import java.text.SimpleDateFormat;import java.util.Date;public class Test13{public static void main(String[] args){Date now=new Date(); //创建一个Date对象,获取当前时间//指定格式化格式SimpleDateFormat f=new SimpleDateFormat("今天是 "+"yyyy 年 MM 月 dd 日 E HH 点 mm 分 ss 秒");System.out.pnntln(f.format(now)); //将当前时间袼式化为指定的格式}}


该程序的运行结果如下:

今天是 2018 年 10 月 15 日 星期一 09 点 26 分 23 秒

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。