formatter.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 1,086 行 · 第 1/5 页
HTML
1,086 行
<p> 所需的 <i>conversion</i> 是一个表明要在输出中所插内容的字符。 </ul><h4> 转换 </h4><p> 转换可分为以下几类: <ol><li> <b>常规</b> - 可应用于任何参数类型<li> <b>字符</b> - 可应用于表示 Unicode 字符的基本类型:<tt>char</tt>、<A HREF="../lang/Character.html" title="java.lang 中的类"><CODE>Character</CODE></A>、<tt>byte</tt>、<A HREF="../lang/Byte.html" title="java.lang 中的类"><CODE>Byte</CODE></A>、<tt>short</tt> 和 <A HREF="../lang/Short.html" title="java.lang 中的类"><CODE>Short</CODE></A>。当 <A HREF="../lang/Character.html#isValidCodePoint(int)"><CODE>Character.isValidCodePoint(int)</CODE></A> 返回 <tt>true</tt> 时,可将此转换应用于 <tt>int</tt> 和 <A HREF="../lang/Integer.html" title="java.lang 中的类"><CODE>Integer</CODE></A> 类型<li> <b>数值</b> <ol><li> <b>整数</b> - 可应用于 Java 的整数类型:<tt>byte</tt>、<A HREF="../lang/Byte.html" title="java.lang 中的类"><CODE>Byte</CODE></A>、<tt>short</tt>、<A HREF="../lang/Short.html" title="java.lang 中的类"><CODE>Short</CODE></A>、<tt>int</tt>、<A HREF="../lang/Integer.html" title="java.lang 中的类"><CODE>Integer</CODE></A>、<tt>long</tt>、<A HREF="../lang/Long.html" title="java.lang 中的类"><CODE>Long</CODE></A> 和 <CODE>BigInteger</CODE><li><b>浮点</b> - 可用于 Java 的浮点类型:<tt>float</tt>、<A HREF="../lang/Float.html" title="java.lang 中的类"><CODE>Float</CODE></A>、<tt>double</tt>、<A HREF="../lang/Double.html" title="java.lang 中的类"><CODE>Double</CODE></A> 和 <CODE>BigDecimal</CODE> </ol><li> <b>日期/时间</b> - 可应用于 Java 的、能够对日期或时间进行编码的类型:<tt>long</tt>、<A HREF="../lang/Long.html" title="java.lang 中的类"><CODE>Long</CODE></A>、<A HREF="Calendar.html" title="java.util 中的类"><CODE>Calendar</CODE></A> 和 <A HREF="Date.html" title="java.util 中的类"><CODE>Date</CODE></A>。<li> <b>百分比</b> - 产生字面值 <tt>'%'</tt> (<tt>'\u0025'</tt>)<li> <b>行分隔符</b> - 产生特定于平台的行分隔符 </ol><p> 下表总结了受支持的转换。由大写字符(如 <tt>'B'</tt>、<tt>'H'</tt>、<tt>'S'</tt>、<tt>'C'</tt>、<tt>'X'</tt>、<tt>'E'</tt>、<tt>'G'</tt>、<tt>'A'</tt> 和 <tt>'T'</tt>)表示的转换与由相应的小写字符的转换等同,根据流行的 <A HREF="Locale.html" title="java.util 中的类"><CODE>Locale</CODE></A> 规则将结果转换为大写形式除外。后者等同于 <A HREF="../lang/String.html#toUpperCase()"><CODE>String.toUpperCase()</CODE></A> 的以下调用 <pre> out.toUpperCase() </pre> <table cellpadding=5 summary="genConv"><tr><th valign="bottom"> 转换 <th valign="bottom"> 参数类别 <th valign="bottom"> 说明<tr><td valign="top"> <tt>'b'</tt>, <tt>'B'</tt> <td valign="top"> 常规 <td> 如果参数 <i>arg</i> 为 <tt>null</tt>,则结果为 "<tt>false</tt>"。如果 <i>arg</i> 是一个 <tt>boolean</tt> 值或 <A HREF="../lang/Boolean.html" title="java.lang 中的类"><CODE>Boolean</CODE></A>,则结果为 <A HREF="../lang/String.html#valueOf(boolean)"><CODE>String.valueOf()</CODE></A> 返回的字符串。否则结果为 "true"。<tr><td valign="top"> <tt>'h'</tt>, <tt>'H'</tt> <td valign="top"> 常规 <td> 如果参数 <i>arg</i> 为 <tt>null</tt>,则结果为 "<tt>null</tt>"。否则,结果为调用 <tt>Integer.toHexString(arg.hashCode())</tt> 得到的结果。<tr><td valign="top"> <tt>'s'</tt>, <tt>'S'</tt> <td valign="top"> 常规 <td> 如果参数 <i>arg</i> 为 <tt>null</tt>,则结果为 "<tt>null</tt>"。如果 <i>arg</i> 实现 <A HREF="Formattable.html" title="java.util 中的接口"><CODE>Formattable</CODE></A>,则调用 <A HREF="Formattable.html#formatTo(java.util.Formatter, int, int, int)"><CODE>arg.formatTo</CODE></A>。否则,结果为调用 <tt>arg.toString()</tt> 得到的结果。<tr><td valign="top"><tt>'c'</tt>, <tt>'C'</tt> <td valign="top"> 字符 <td> 结果是一个 Unicode 字符<tr><td valign="top"><tt>'d'</tt> <td valign="top"> 整数 <td> 结果被格式化为十进制整数<tr><td valign="top"><tt>'o'</tt> <td valign="top"> 整数 <td> 结果被格式化为八进制整数<tr><td valign="top"><tt>'x'</tt>, <tt>'X'</tt> <td valign="top"> 整数 <td> 结果被格式化为十六进制整数<tr><td valign="top"><tt>'e'</tt>, <tt>'E'</tt> <td valign="top"> 浮点 <td> 结果被格式化为用计算机科学记数法表示的十进制数<tr><td valign="top"><tt>'f'</tt> <td valign="top"> 浮点 <td> 结果被格式化为十进制数<tr><td valign="top"><tt>'g'</tt>, <tt>'G'</tt> <td valign="top"> 浮点 <td> 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。<tr><td valign="top"><tt>'a'</tt>, <tt>'A'</tt> <td valign="top"> 浮点 <td> 结果被格式化为带有效数和指数的十六进制浮点数<tr><td valign="top"><tt>'t'</tt>, <tt>'T'</tt> <td valign="top"> 日期/时间 <td> 日期和时间转换字符的前缀。请参阅<a href="#dt">日期/时间转换</a>。<tr><td valign="top"><tt>'%'</tt> <td valign="top"> 百分比 <td> 结果为字面值 <tt>'%'</tt> (<tt>'\u0025'</tt>)<tr><td valign="top"><tt>'n'</tt> <td valign="top"> 行分隔符 <td> 结果为特定于平台的行分隔符</table><p> 任何未明确定义为转换的字符都是非法字符,并且都被保留,以供将来扩展使用。<a name="dt"><h4> 日期/时间转换 </h4></a><p> 以下日期和时间转换的后缀字符是为 <tt>'t'</tt> 和 <tt>'T'</tt> 转换定义的。这些类型相似于但不完全等同于那些由 GNU <tt>date</tt> 和 POSIX <tt>strftime(3c)</tt> 定义的类型。提供其他转换类型是为了访问特定于 Java 的功能(如将 <tt>'L'</tt> 用作秒中的毫秒)。<p> 以下转换字符用来格式化时间:<table cellpadding=5 summary="time"><tr><td valign="top"> <tt>'H'</tt> <td> 24 小时制的小时,被格式化为必要时带前导零的两位数,即 <tt>00 - 23</tt>。<tr><td valign="top"><tt>'I'</tt> <td> 12 小时制的小时,被格式化为必要时带前导零的两位数,即 <tt>01 - 12</tt>。<tr><td valign="top"><tt>'k'</tt> <td> 24 小时制的小时,即 <tt>0 - 23</tt>。<tr><td valign="top"><tt>'l'</tt> <td> 12 小时制的小时,即 <tt>1 - 12</tt>。<tr><td valign="top"><tt>'M'</tt> <td> 小时中的分钟,被格式化为必要时带前导零的两位数,即 <tt>00 - 59</tt>。<tr><td valign="top"><tt>'S'</tt> <td> 分钟中的秒,被格式化为必要时带前导零的两位数,即 <tt>00 - 60</tt> ("<tt>60</tt>" 是支持闰秒所需的一个特殊值)。<tr><td valign="top"><tt>'L'</tt> <td> 秒中的毫秒,被格式化为必要时带前导零的三位数,即 <tt>000 - 999</tt>。<tr><td valign="top"><tt>'N'</tt> <td> 秒中的毫微秒,被格式化为必要时带前导零的九位数,即 <tt>000000000 - 999999999</tt>。<tr><td valign="top"><tt>'p'</tt> <td> 特定于语言环境的 上午或下午 标记以小写形式表示,例如 "<tt>am</tt>" 或 "<tt>pm</tt>"。使用转换前缀 <tt>'T'</tt> 可以强行将此输出转换为大写形式。<tr><td valign="top"><tt>'z'</tt> <td> 相对于 GMT 的 <a href="../../../../../../../../www.ietf.org/rfc/rfc0822.txt">RFC 822</a> 格式的数字时区偏移量,例如 <tt>-0800</tt>。<tr><td valign="top"><tt>'Z'</tt> <td> 表示时区缩写形式的字符串。Formatter 的语言环境将取代参数的语言环境(如果有)。<tr><td valign="top"><tt>'s'</tt> <td> 自协调世界时 (UTC) 1970 年 1 月 1 日 <tt>00:00:00</tt> 至现在所经过的秒数,即 <tt>Long.MIN_VALUE/1000</tt> 与 <tt>Long.MAX_VALUE/1000</tt> 之间的差值。<tr><td valign="top"><tt>'Q'</tt> <td> 自协调世界时 (UTC) 1970 年 1 月 1 日 <tt>00:00:00</tt> 至现在所经过的毫秒数,即 <tt>Long.MIN_VALUE</tt> 与 <tt>Long.MAX_VALUE</tt> 之间的差值。 </table><p> 以下转换字符用来格式化日期: <table cellpadding=5 summary="date"><tr><td valign="top"><tt>'B'</tt> <td> 特定于语言环境的月份全称,例如 <tt>"January"</tt> 和 <tt>"February"</tt>。<tr><td valign="top"><tt>'b'</tt> <td> 特定于语言环境的月份简称,例如 <tt>"Jan"</tt> 和 <tt>"Feb"</tt>。<tr><td valign="top"><tt>'h'</tt> <td> 与 <tt>'b'</tt> 相同。<tr><td valign="top"><tt>'A'</tt> <td> 特定于语言环境的星期几全称,例如 <tt>"Sunday"</tt> 和 <tt>"Monday"</tt><tr><td valign="top"><tt>'a'</tt> <td> 特定于语言环境的星期几简称,例如 <tt>"Sun"</tt> 和 <tt>"Mon"</tt><tr><td valign="top"><tt>'C'</tt> <td> 除以 <tt>100</tt> 的四位数表示的年份,被格式化为必要时带前导零的两位数,即 <tt>00 - 99</tt><tr><td valign="top"><tt>'Y'</tt> <td> 年份,被格式化为必要时带前导零的四位数(至少),例如,<tt>0092</tt> 等于格里高利历的 <tt>92</tt> CE。<tr><td valign="top"><tt>'y'</tt> <td> 年份的最后两位数,被格式化为必要时带前导零的两位数,即 <tt>00 - 99</tt>。<tr><td valign="top"><tt>'j'</tt> <td> 一年中的天数,被格式化为必要时带前导零的三位数,例如,对于格里高利历是 <tt>001 - 366</tt>。<tr><td valign="top"><tt>'m'</tt> <td> 月份,被格式化为必要时带前导零的两位数,即 <tt>01 - 13</tt>。<tr><td valign="top"><tt>'d'</tt> <td> 一个月中的天数,被格式化为必要时带前导零两位数,即 <tt>01 - 31</tt><tr><td valign="top"><tt>'e'</tt> <td> 一个月中的天数,被格式化为两位数,即 <tt>1 - 31</tt>。 </table><p> 以下转换字符用于格式化常见的日期/时间组合。 <table cellpadding=5 summary="composites"><tr><td valign="top"><tt>'R'</tt> <td> 24 小时制的时间,被格式化为 <tt>"%tH:%tM"</tt><tr><td valign="top"><tt>'T'</tt> <td> 24 小时制的时间,被格式化为 <tt>"%tH:%tM:%tS"</tt>。<tr><td valign="top"><tt>'r'</tt> <td> 12 小时制的时间,被格式化为 <tt>"%tI:%tM:%tS %Tp"</tt>。上午或下午标记 (<tt>'%Tp'</tt>) 的位置可能与语言环境有关。<tr><td valign="top"><tt>'D'</tt> <td> 日期,被格式化为 <tt>"%tm/%td/%ty"</tt>。<tr><td valign="top"><tt>'F'</tt> <td> <a href="../../../../../../../../www.w3.org/TR/NOTE-datetime">ISO 8601</a> 格式的完整日期,被格式化为 <tt>"%tY-%tm-%td"</tt>。<tr><td valign="top"><tt>'c'</tt> <td> 日期和时间,被格式化为 <tt>"%ta %tb %td %tT %tZ %tY"</tt>,例如 <tt>"Sun Jul 20 16:17:00 EDT 1969"</tt>。</table>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?