字符串时间日期格式化
格式化字符串
1.日期格式化:
| 转换符 | s说明 | s示例 |
|---|---|---|
| %te | 一月中的某一天(1-31) | 6 |
| %tb | 指定语言环境的月份简称 | Feb(英文),二月(中文) |
| %tB | 指定语言环境的月份全称 | February(英文),二月(中文) |
| %tA | 指定环境下星期几的全称 | Monday(英文),星期一(中文) |
| %ta | 指定语言环境下星期几的简称 | Mon(英文),星期一(中文) |
| %tc | 包括全部日期和时间信息 | x星期二 三月25 13:37:22 CST 2008 |
| %tY | 4位年份 | 2008 |
| %tj | 一年中的第几天(001-366) | 085 |
| %tm | 月份 | 03 |
| %td | 一个月中的第几天 | 01-31 |
| %ty | 2位年份 | 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示例 |
| %tH | 2位数字24时制的小时(00-23) | 14 |
| %tI | 2位数字12时制的小时(01-12) | 05 |
| %tk | 2位数字24时制的小时(0-23) | 5 |
| %td | 2位数字12时制的小时(1-12) | 10 |
| %tM | 2位数字的分钟(00-59) | 12 |
| %tS | 2位数字的秒数(00-60) | 5 |
| %tL | 3位数字的毫秒数(000-999) | 920 |
| %tN | 9位数字的微秒数(000000000-999999999) | 062000000 |
| %tp | 指定语言环境下上午或下午标记 | x下午(中文)、pm(英文) |
| %tz | 相对于 GMT RFC 82格式的数字时区偏移量 | +0800 |
| %tZ | 时区缩写形式的字符串 | CST |
| %ts | 1970-01-01 00:00:00到现在经过的秒数 | 1206426646 |
| %tQ | 1970-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' |
| %d | j结果被格式化为十进制整数 | 40 |
| %o | 结果被格式化为八进制整数 | 11 |
| %x、%X | j结果被格式化为十六进制整数 | 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));}
}
运行结果如下:
字符串的基本操作,见链接点击打开链接
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
