Java 打印日期/时间格式

2018-02-12 21:51 更新

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);
  }
}

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

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号