Java格式化日期,时间(三种方法,建议收藏)

Java格式化日期,时间(三种方法,建议收藏)1 String format 在 java 中 String 类格式化的方法 是静态 format 用于创建格式化的字符串 format String format Object args 新字符串使用本地语言环境 制定字符串格式和参数生成格式化的新字符串 format Locale locale String format

大家好,我是讯享网,很高兴认识大家。

1.String.format()

在java中String类格式化的方法,是静态format()用于创建格式化的字符串。

format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。

format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。

1.1日期格式化

常用的日期转换格式符

转换符 说明 示例
%te 一个月中的某一天(1~31) 10
%td 一个月中的第几天(1~31) 03
%tj 一年中的第几天(1~366) 020
%tb 指定语言环境的月份简称 Feb(英文)、二月(中文)
%tB 指定语言环境的月份全称 February(英文)、二月(中文)
%ta 指定语言环境的星期简称 Mon(英文)、星期一(中文)
%tA 指定语言环境的星期全称 Monday(星期一)、星期一(中文)
%tc 包括全部日期和时间信息 星期六  六月  10  09:10:20 CST 2023
%tY 4位年份 2023
%ty 2位年份 23
%tm 月份 05

 实例:

 public class Demo { public static void main(String[] args) { Date date = new Date(); String day = String.format("%te", date); System.out.println("今天是2019年8月:" + day + "号"); String month = String.format("%tb", date); System.out.println("现在是2019年:" + month); String xingqi = String.format("%tA", date); System.out.println("今天是:" + xingqi); String year = String.format("%tY", date); System.out.println("现在是:" + year + "年"); } }

讯享网

结果:


讯享网

 1.2时间格式化

常用的时间格式转换符

转换符 说明 示例
%tH 2位数字的24时制的小时(00~23) 13
%tI 2位数字的12时制的小时(00~23) 01
%tM 2位数字的分钟(00~59) 05
%tS 2位数字的秒数(00~60) 12
%tL 3位数字的毫秒(000~999) 666
%tp 指定语言环境下的上午或下午标记 下午(中文)、pm(英文)
%tZ 时区缩写形式的字符串

CST

实例:

讯享网 public class Demo { public static void main(String[] args) { Date date = new Date(); String hour = String.format("%tH", date); String minute = String.format("%tM", date); String second = String.format("%tS", date); System.out.println("现在是:" + hour + "点" + minute + "分" + second + "秒"); System.out.println(""); String hour2 = String.format("%tI", date); String pm = String.format("%tp", date); System.out.println("现在是:" + pm + hour2 + "点" + minute + "分" + second + "秒"); } }

结果:

 1.3常见的日期和时间组合的格式

转换符 说明 示例
%tF "年-月-日"格式 2021-05-09
%tD "月/日/年"格式 05/09/2021
%tT "时:分:秒" 24时制 08:20:42
%tR "时:分" 24时制

08:20

 public class Demo { public static void main(String[] args) { Date date = new Date(); String time = String.format("%tc", date); String form = String.format("%tF", date); String form2 = String.format("%tD", date); String form3 = String.format("%tr", date); String form4 = String.format("%tT", date); String form5 = String.format("%tR", date); System.out.println("全部的时间信息是:" + time); System.out.println("年-月-日格式:" + form); System.out.println("年/月/日格式:" + form2); System.out.println("时:分:秒 PM(AM)格式:" + form3); System.out.println("时:分:秒格式:" + form4); System.out.println("时:分格式:" + form5); } }

结果:

2.DateFormat 

DateFormat是日期/时间格式化的抽象类,它以与语言无关的方式格式化并分析日期或时间。DataFormat还有一个子类 —— SimpleDateFormat,可用此类格式化日期。其中,最常用的方法是format()方法。

实例:

讯享网public class Demo { public static void main(String[] args) { SimpleDateFormat sdf1 = new SimpleDateFormat("yy年MM月dd日"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分"); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); SimpleDateFormat sdf5 = new SimpleDateFormat("今年已经过了DDD天,快w个星期,现在是这个月的第W个星期"); SimpleDateFormat sdf6 = new SimpleDateFormat("现在是E"); String date1 = sdf1.format(new Date()); String date2 = sdf2.format(new Date()); String date3 = sdf3.format(new Date()); String date4 = sdf4.format(new Date()); String date5 = sdf5.format(new Date()); String date6 = sdf6.format(new Date()); System.out.println(date1); System.out.println(date2); System.out.println(date3); System.out.println(date4); System.out.println(date5); System.out.println(date6); } }

结果:

 3.SimpleDateFormat 类

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

SimpleDateFormat 类基本构造方法:

SimpleDateFormat 类是DateFormat 类的一个子类。

  • new SimpleDateFormat();默认模式和默认日期格式符号创造。
  • SimpleDateFormat(String pattern);使用指定的模式和默认日期格式符号创造。
  • SimpleDateFormat(String pattern, Locale locale);使用指定的模式和指定语言环境的默认日期符号构造。

DateFormat 也可以new SimpleDateFormat对象。

DateFormat d=new SimpleDateFormat();

代表日期和时间的模式元素字母:

字母 含义 示例
y 年,一个y代表一位 "yyy"代表019,"yyyy"代表2019
M 月份 例如八月,M代表8,MM代表08
w 一年中的第几周 常用ww表示
W 一个月中的第几周 常用WW表示
d 一个月中的第几天 常用dd表示
D 一年中的第几天 常用DDD表示
E 星期几,用E表示星期,根据不同语言环境返回 CHINA表示星期几,US表示英文缩写
a 上午或下午 am代表上午,pm代表下午
H 一天中的小时数,二十四小时制 常用HH表示
h 一天中的小时数,十二小时制 常用hh表示
m 分钟数 常用mm表示
s 秒数 常用ss表示
S 毫秒数 常用SSS表示

 实例:

public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString() SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E "); SimpleDateFormat myFmt4=new SimpleDateFormat( "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区"); Date now=new Date(); // 现在的日期 // 按照自定义的时间编排格式 输出时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString()); System.out.println(now.toLocaleString()); System.out.println(now.toString()); } } 

结果:

小讯
上一篇 2025-03-07 23:20
下一篇 2025-01-08 21:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/19566.html