首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java SE学习之printf 日期转换符[通俗易懂]

Java SE学习之printf 日期转换符[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-10 13:26:00
发布2022-07-10 13:26:00
5840
举报

大家好,又见面了,我是全栈君。

本文是学习网络上的文章时的总结,感谢大家无私的分享。

System.out.printf()方法能够对日期做处理输出。

相应列表

转换符

类型

举例

c

完整的日期和时间

Mon Feb 09 18:05:11 PST 2004

F

ISO 8061日期

2004-02-09

D

美国格式的日期

02/09/2004

T

24小时时间

18:03:23

r

12小时时间

05:03:23 pm

R

24小时时间没有秒

18:05

Y

4位数字的年(前面补0)

2004

y

年的后两位数字(前面补0)

04

C

年的前两位数字(前面补0)

20

B

月的完整拼写

February

b或h

月的缩写

Feb

m

两位数字的月(前面补0)

02

d

两位数字的日(前面补0)

09

e

两位数字的月(前面不补0)

9

A

星期几的完整拼写

Monday

a

星期几的缩写

Mon

j

三位数的年中的日子(前面补0),在001到366之间

069

H

两位数字的小时(前面补0)。在0到23之间

18

k

两位数字的小时(前面不补0)在0到23之间

8

I(大写的i)

两位数字的小时(前面补0)。在0到12之间

06

l(小写的L)

两位数字的小时(前面不补0),在0到12之间

6

M

两位数字的分钟(前面补0)

05

S

两位数字的秒(前面补0)

19

L

三位数字的毫秒(前面补0)

047

N

九位数字的毫微秒(前面补0)

047000000

P

上午或者下午的大写标志

PM

p

上午或者下午的小写标志

pm

z

从GMT起。RFC822数字移位

-0800

Z

时区

PST

s

从格林威治时间1970-01-01 00:00:00起的秒数

107884319

Q

从格林威治时间1970-01-01 00:00:01起的毫秒数

107884319047

測试代码

代码语言:javascript
复制
package SE;

import java.util.Date;

/**
 * 
 * <p>
 * Description: 本实例是为了学习printf对日期类型的格式化输出
 * </p>
 * @author zhangjunshuai
 * @version 1.0
 * Create Date: 2014-10-16 下午6:12:50
 * Project Name: Java7Thread
 *
 * <pre>
 * Modification History: 
  *             Date                                Author                   Version          Description 
 * -----------------------------------------------------------------------------------------------------------  
 * LastChange: $Date::             $      $Author: $          $Rev: $         
 * </pre>
 *
 */
public class PrintfDate {

	/**
	 * <p>
	 * </p>
	 * @author zhangjunshuai
	 * @date 2014-10-16 下午6:12:46
	 * @param args
	 */
	public static void main(String[] args) {
		//printf方法能够打印时间格式。以t開始,以表中人以字母结束的两个字母格式
		System.out.printf("%tc\n",new Date());
		System.out.printf("%tF\n",new Date());
		System.out.printf("%tD\n",new Date());
		System.out.printf("%tT\n",new Date());
		System.out.printf("%tr\n",new Date());
		System.out.printf("%tR\n",new Date());
		System.out.printf("%tY\n",new Date());
		System.out.printf("%ty\n",new Date());
		System.out.printf("%tC\n",new Date());
		System.out.printf("%tb\n",new Date());
		System.out.printf("%tm\n",new Date());
		System.out.printf("%td\n",new Date());
		System.out.printf("%te\n",new Date());
		System.out.printf("%tA\n",new Date());
		System.out.printf("%ta\n",new Date());
		System.out.printf("%tj\n",new Date());
		System.out.printf("%tH\n",new Date());
		System.out.printf("%tk\n",new Date());
		System.out.printf("%tI\n",new Date());
		System.out.printf("%tl\n",new Date());
		System.out.printf("%tM\n",new Date());
		System.out.printf("%tS\n",new Date());
		System.out.printf("%tL\n",new Date());
		System.out.printf("%tN\n",new Date());
		System.out.printf("%tp\n",new Date());
		//System.out.printf("%tP\n",new Date());//此方法报错 应该和时区有关系
		System.out.printf("%tz\n",new Date());
		System.out.printf("%tZ\n",new Date());
		System.out.printf("%ts\n",new Date());
		System.out.printf("%tQ\n",new Date());
		
		

	}

}

结果:

从上表能够看出。某些个事仅仅给出指定日期的部分信息。假设须要多次对日期操作才干实现一部分操作的目的就太笨拙了。为此能够採用一个格式化字符串之处被格式化的參数索引。

索引必须紧跟在%后面,以$终止。 索引从1開始 ,而非0。

代码语言:javascript
复制
System.out.printf("%1$s %2$tB %2$te, %2$tY\n", "Due date:", new Date());//%之后的2表示的是第二个參数。此处是指的是new Date()

也能够选择使用<标志。它指示前面格式说明中的參数将被再次使用。

代码语言:javascript
复制
System.out.printf("%s %tB %<te, %<tY", "Due date:", new Date());//选择使用<标志,它指示前面格式说明中的參数将被再次使用。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115498.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档