Java 打印日期/时间格式

Java格式 – Java 打印日期/时间格式

Java 打印日期/时间格式处理日期,时间和日期时间值。

Java 打印日期/时间格式可以应用于格式值为long,Long,java.util.Calendar,java.util.Date,和java.time.temporal.TemporalAccessor类型。

长类型中的值解释为自1970年1月1日午夜UTC之后过去的毫秒数。

t大写变量T转换字符用于格式化日期/时间值。

日期/时间格式化的一般语法如下:

%<argument_index$><flags><width><conversion>

精度不适用于日期/时间格式。

对于日期/时间格式,转换是一个双字符序列。 第一个字符总是’t’或’T’。 第二个字符,称为转换后缀,确定日期/时间参数的格式。

下表包含时间格式的后缀字符

后缀 含义
H 将时间格式设置为24小时制时钟的两位数小时。 有效值为00到23. 00用于午夜。
I 格式化12小时制时钟的一位两位数小时。 有效值为01到12。
k 格式化时间与H后缀相同,除了它不向输出添加前导零。 有效值为0到23。
l 格式化时间与“I”后缀相同,除了它不添加前导零。 有效值为1到12。
M 一小时内两位数的分钟。 有效值为00到59。
S 一个两位数的秒。 有效值为00到60。
L 一个三位数毫秒。 有效值为000到999。
N 一个九位数的纳秒。 有效值为000000000至999999999。
p 使用小写格式化特定于语言环境的上午或下午字符串。对于美国地区,“am”或“pm”。 要获取“AM”和“PM”,请使用大写变量“T”作为转换字符。
z 输出与GMT的数值时区偏移(例如,+0530)。
Z 输出时区的字符串缩写(例如,CST,EST,IST等)。
s 输出秒自1970年1月1日午夜UTC。
Q 自1970年1月1日午夜UTC以来的输出毫秒数。

日期格式化的后缀字符的下表列表

含义
B 在美国语言环境中输出本地特定的月份全名,例如“一月”,“二月”。
b 输出特定于语言环境的缩写月份名称,例如美国语言环境中的“Jan”,“Feb”。
h 与“b”相同。 输出特定于语言环境的缩写月份名称,例如美国语言环境中的“Jan”,“Feb”。
A 输出一周中某天的特定于地区的全名,例如美国地区的“星期日”,“星期一”。
a 输出一周中某天的特定于语言环境的短名称,例如美国语言环境的“Sun”,“Mon”。
C 将四位数年份除以100,并将结果格式化为两位数。 如果结果数字为一位数,它将添加一个前导零。 有效值为00到99.例如,如果四位数年份是2014,则它将输出20。
Y 如果年份包含少于四位数,则输出带有前导零的四位数年份。
y 输出年份的最后两位数字,如有必要,添加前导零。 2011年将输出11。
j 一年中三位数的日期。 有效值为000到366。
m 一个两位数的月份。 有效值为01到13.需要13的特殊值来支持农历日历。
d 一个两位数的日期。 有效值为01到31。
e 每月的日期。 有效值为1到31。

下表列出了日期/时间格式的后缀字符

格式 描述
R 输出时间以24小时时钟格式为“小时:分钟”。 它输出与%tH:%tM相同。 示例:11:23
T 以24小时制输出时间,格式为“小时:分:秒”。 它输出相同的“%tH:%tM:%tS”。 示例11:23:10
r 以24小时制输出时间,格式为“小时:分:秒”。 它输出相同的“%tH:%tM:%tS”。 示例11:23:10…
D 输出日期为“%tm /%td /%ty”,例如“01/19/14″
F 输出日期为“%tY-%tm-%td”,如“2014-01-19″。
c 将日期和时间输出为“%ta%tb%td%tT%tZ%tY”,例如“Wed Jan 20 12:22:06 CST 2014″。

例子

以下代码显示如何使用日期时间格式化程序。 它在格式说明符中使用'<‘标志来重用参数中的值。

import java.time.LocalDateTime;
import java.time.Month;
import java.util.Locale;

public class Main {
  public static void main(String[] args) {
    Locale englishUS = Locale.US;
    LocalDateTime ldt = LocalDateTime.of(2014, Month.JANUARY, 25, 11, 48, 16);

    System.out.printf(englishUS, "US: %tB %<te,  %<tY  %<tT %<Tp%n", ldt);
  }
}

上面的代码生成以下结果。


例2

以下代码格式化默认语言环境中的当前日期和时间。 它使用ZonedDateTime参数,它保存当前日期/时间与时区。

import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    ZonedDateTime currentTime = ZonedDateTime.now();
    System.out.printf("%tA %<tB  %<te,  %<tY  %n", currentTime);
    System.out.printf("%TA %<TB  %<te,  %<tY  %n", currentTime);
    System.out.printf("%tD %n", currentTime);
    System.out.printf("%tF %n", currentTime);
    System.out.printf("%tc %n", currentTime);
    System.out.printf("%Tc %n", currentTime);
  }
}

上面的代码生成以下结果。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Java 打印日期/时间格式》
文章链接:https://zhuji.vsping.com/293093.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。