Java 打印日期/時間格式

2018-02-12 21:51 更新

Java格式 - Java 打印日期/時間格式


Java 打印日期/時間格式處理日期,時間和日期時間值。

Java 打印日期/時間格式可以應(yīng)用于格式值為long,Long,java.util.Calendar,java.util.Date,和java.time.temporal.TemporalAccessor類型。

長類型中的值解釋為自1970年1月1日午夜UTC之后過去的毫秒數(shù)。

t大寫變量T轉(zhuǎn)換字符用于格式化日期/時間值。

日期/時間格式化的一般語法如下:

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

精度不適用于日期/時間格式。

對于日期/時間格式,轉(zhuǎn)換是一個雙字符序列。 第一個字符總是't'或'T'。 第二個字符,稱為轉(zhuǎn)換后綴,確定日期/時間參數(shù)的格式。

下表包含時間格式的后綴字符

后綴含義
H將時間格式設(shè)置為24小時制時鐘的兩位數(shù)小時。 有效值為00到23. 00用于午夜。
I格式化12小時制時鐘的一位兩位數(shù)小時。 有效值為01到12。
k格式化時間與H后綴相同,除了它不向輸出添加前導(dǎo)零。 有效值為0到23。
l格式化時間與“I"后綴相同,除了它不添加前導(dǎo)零。 有效值為1到12。
M一小時內(nèi)兩位數(shù)的分鐘。 有效值為00到59。
S一個兩位數(shù)的秒。 有效值為00到60。
L一個三位數(shù)毫秒。 有效值為000到999。
N一個九位數(shù)的納秒。 有效值為000000000至999999999。
p使用小寫格式化特定于語言環(huán)境的上午或下午字符串。對于美國地區(qū),“am"或“pm"。 要獲取“AM"和“PM",請使用大寫變量“T"作為轉(zhuǎn)換字符。
z輸出與GMT的數(shù)值時區(qū)偏移(例如,+0530)。
Z輸出時區(qū)的字符串縮寫(例如,CST,EST,IST等)。
s輸出秒自1970年1月1日午夜UTC。
Q自1970年1月1日午夜UTC以來的輸出毫秒數(shù)。

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

含義
B在美國語言環(huán)境中輸出本地特定的月份全名,例如“一月",“二月"。
b輸出特定于語言環(huán)境的縮寫月份名稱,例如美國語言環(huán)境中的“Jan",“Feb"。
h與“b"相同。 輸出特定于語言環(huán)境的縮寫月份名稱,例如美國語言環(huán)境中的“Jan",“Feb"。
A輸出一周中某天的特定于地區(qū)的全名,例如美國地區(qū)的“星期日”,“星期一”。
a輸出一周中某天的特定于語言環(huán)境的短名稱,例如美國語言環(huán)境的“Sun",“Mon"。
C將四位數(shù)年份除以100,并將結(jié)果格式化為兩位數(shù)。 如果結(jié)果數(shù)字為一位數(shù),它將添加一個前導(dǎo)零。 有效值為00到99.例如,如果四位數(shù)年份是2014,則它將輸出20。
Y如果年份包含少于四位數(shù),則輸出帶有前導(dǎo)零的四位數(shù)年份。
y輸出年份的最后兩位數(shù)字,如有必要,添加前導(dǎo)零。 2011年將輸出11。
j一年中三位數(shù)的日期。 有效值為000到366。
m一個兩位數(shù)的月份。 有效值為01到13.需要13的特殊值來支持農(nóng)歷日歷。
d一個兩位數(shù)的日期。 有效值為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"。

例子

以下代碼顯示如何使用日期時間格式化程序。 它在格式說明符中使用'<'標(biāo)志來重用參數(shù)中的值。

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

上面的代碼生成以下結(jié)果。


例2

以下代碼格式化默認(rèn)語言環(huán)境中的當(dāng)前日期和時間。 它使用ZonedDateTime參數(shù),它保存當(dāng)前日期/時間與時區(qū)。

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

上面的代碼生成以下結(jié)果。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號