字符串时间日期格式化

格式化字符串


1.日期格式化:

转换符s说明s示例
%te一月中的某一天(1-31)6
%tb指定语言环境的月份简称Feb(英文),二月(中文)
%tB指定语言环境的月份全称February(英文),二月(中文)
%tA指定环境下星期几的全称Monday(英文),星期一(中文)
%ta指定语言环境下星期几的简称Mon(英文),星期一(中文)
%tc包括全部日期和时间信息x星期二 三月25 13:37:22 CST 2008
%tY4位年份2008
%tj一年中的第几天(001-366)085
%tm月份03
%td一个月中的第几天01-31
%ty2位年份08
public class nn {
	public static void main(String[] args)
	{
		GregorianCalendar calendar=new GregorianCalendar();// 创建日期对象
		String message=String.format("小明的生日:%1$tY年%1$tm月%1$te日",calendar);
		System.out.println(message);
	}
}
2.时间格式化

        使用format()方法对时间进行格式化是,会用到时间格式化转换符。时间格式化转换符要比日期转换符个多,更精确,可以将时间格式化为时、分、秒、毫秒。常用的时间格式化转换符如下:
转换符s说明s示例
%tH2位数字24时制的小时(00-23)14
%tI2位数字12时制的小时(01-12)05
%tk2位数字24时制的小时(0-23)5
%td2位数字12时制的小时(1-12)10
%tM2位数字的分钟(00-59)12
%tS2位数字的秒数(00-60)5
%tL3位数字的毫秒数(000-999)920
%tN9位数字的微秒数(000000000-999999999)062000000
%tp指定语言环境下上午或下午标记x下午(中文)、pm(英文)
%tz相对于 GMT RFC 82格式的数字时区偏移量+0800
%tZ时区缩写形式的字符串CST
%ts1970-01-01 00:00:00到现在经过的秒数1206426646
%tQ1970-01-01 00:00:00到现在经过的毫秒数1206426738421
public class nn {
	public static void main(String[] args)
	{
		String message=String.format("当前时间:%1$tI 时%1$tM 分%1$tS 秒",Calendar.getInstance());
		System.out.println(message);
	}
}
运行结果如下:

3.日期时间组合格式化:

        因为日期和时间通常是同时出现,所以格式化转换符还定义了各种日期和时间组合的格式,常用的有以下几种:

转换符s说明s示例
%tF"年-月-日"格式(4位年份)2008-3-25
%tD"年/月/日"格式(2位年份)03/25/2008
%tc全部日期和时间x星期二 三月 25 12:20:00 CST 2008
%er"时:分:秒: PM(AM)"格式(12时制)03:22:06 下午
%tT"时:分:秒"格式(24时制)15:23:53
%tR"时:分"格式(24时制)15:23
public class nn {
	public static void main(String[] args)
	{
		String message=String.format("当前时间:%tT",Calendar.getInstance());
		System.out.println(message);
	}
}

运行结果如下:



4.常规类型格式化:

        在程序设计过程中,经常需要对常规类型是数据进行格式化,例如格式化为整数,格式化为科学计数表示等。在Java中可以使用常规类型的格式化转换符来实现。如下是常规类型格式化转换符:

转换符s说明s示例
%b、%B结果格式化为布尔型true
%h、%H结果被格式化为散列码A05A5198
%s、%S结果被格式化为字符串类型"abcd"
%c、%C结果被格式化为字符类型'a'
%dj结果被格式化为十进制整数40
%o结果被格式化为八进制整数11
%x、%Xj结果被格式化为十六进制整数4b1
%e结果被格式化为计算机科学计数法表示的十进制浮点值1.700000e+01
%a结果被格式化为带有效位数和指数的十六进制浮点值0X1.C000000000001P4
%n结果为特定于平台的行分隔符 
%%结果为字面值“%”%

public class nn {
	public static void main(String[] args)
	{
		System.out.println(String.format("%1$d的八进制表示:%1$o",99));
		System.out.println(String.format("%1$d的十六进制表示:%1$x",99));
	}
}

运行结果如下:



字符串的基本操作,见链接点击打开链接

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haibianyoushark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值