我是靠谱客的博主 单身月亮,最近开发中收集的这篇文章主要介绍java date转格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

二、 SimpleDateFormat

java.text.SimpleDateFormat

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

字母日期或时间元素表示示例
GEra 标志符TextAD
yYear199696
M年中的月份MonthJulyJul07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number10
F月份中的星期Number2
E星期中的天数TextTuesdayTue
aAm/pm 标记TextPM
H一天中的小时数(0-23)Number0
k一天中的小时数(1-24)Number24
Kam/pm 中的小时数(0-11)Number0
ham/pm 中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区General time zonePacific Standard TimePSTGMT-08:00
Z时区RFC 822 time zone-0800

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实例参数

日期和时间模式结果
"yyyy.MM.dd G 'at' HH:mm:ss z"2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"Wed, Jul 4, '01
"h:mm a"12:08 PM
"hh 'o''clock' a, zzzz"12 o'clock PM, Pacific Daylight Time
"K:mm a, z"0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700

 

 

 

 

 

 

 

 

 

 

Date d = new Date();
/* h 1-12输出格式: 2017-04-16 01:01:22 */
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String s = format1.format(d);
System.out.println(s);
/* H 0-23输出格式:2017-04-16 13:01:22*/
DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
s = format2.format(d);
System.out.println(s);

/* K 0-11输出格式:2017-04-16 01:01:22 */
DateFormat format3 = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss");
s = format3.format(d);
System.out.println(s);

/* k 1-24输出格式: 2017-04-16 13:01:22 */
DateFormat format4 = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
s = format4.format(d);
System.out.println(s);

/* 输出格式: 20170416010122 */
DateFormat format5 = new SimpleDateFormat("yyyyMMddhhmmss");
s = format5.format(d);
System.out.println(s);

 

 

 

一、DateFormat    

java.text.DateFormat 

使用 getDateInstance 来获取该国家/地区的标准日期格式。另外还提供了一些其他静态工厂方法。使用 getTimeInstance 可获取该国家/地区的时间格式。使用 getDateTimeInstance 可获取日期和时间格式。可以将不同选项传入这些工厂方法,以控制结果的长度(从 SHORT 到 MEDIUM 到 LONG 再到 FULL)。确切的结果取决于语言环境,但是通常:

  • SHORT 完全为数字,如 12.13.52 或 3:30pm
  • MEDIUM 较长,如 Jan 12, 1952
  • LONG 更长,如 January 12, 1952 或 3:30:32pm
  • FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST。

如果愿意,还可以在格式上设置时区。如果想对格式化或解析施加更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法所获取的 DateFormat 强制转换为 SimpleDateFormat。这适用于大多数国家/地区;只是要记住将其放入一个 try 代码块中,以防遇到特殊的格式。 

使用当地时区

 

Date date = new Date();
//日期格式,精确到日 2017-4-16
DateFormat df1 = DateFormat.getDateInstance();
System.out.println(df1.format(date));

//可以精确到秒  2017-4-16 12:43:37
DateFormat df2 = DateFormat.getDateTimeInstance();
System.out.println(df2.format(date));

//只显示出时时分秒 12:43:37
DateFormat df3 = DateFormat.getTimeInstance();
System.out.println(df3.format(date));

//显示日期,周,上下午,时间(精确到秒)
//2017年4月16日 星期日 下午12时43分37秒 CST
DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
System.out.println(df4.format(date));

//显示日期,上下午,时间(精确到秒) 
//2017年4月16日 下午12时43分37秒
DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
System.out.println(df5.format(date));

//显示日期,上下午,时间(精确到秒) 
//2017年4月16日 下午12时43分37秒
DateFormat df5_1 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.CHINA);
System.out.println(df5_1.format(date));
//显示日期,上下午,时间(精确到分) 17-4-16 下午12:43
DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
System.out.println(df6.format(date));

//显示日期,时间(精确到秒) 2017-4-16 12:43:37 
DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
System.out.println(df7.format(date));

 

最后

以上就是单身月亮为你收集整理的java date转格式的全部内容,希望文章能够帮你解决java date转格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部