1. 程式人生 > >java的Date() 轉換符

java的Date() 轉換符

term start target str iss b2c logs cati key

本字段下均轉自 csdn 阿念1989


本文是學習網絡上的文章時的總結,感謝大家無私的分享。

System.out.printf()方法可以對日期做處理輸出。

對應列表

轉換符 類型 舉例
c 完整的日期和時間 Mon Feb 09 18:05:11 PST 2004
F ISO 8061日期 2004-02-09
D 美國格式的日期 02/09/2004
T 24小時時間 18:03:23
r 12小時時間 05:03:23 pm
R 24小時時間沒有秒 18:05
Y 4位數字的年(前面補0) 2004
y 年的後兩位數字(前面補0) 04
C 年的前兩位數字(前面補0) 20
B 月的完整拼寫 February
b或h 月的縮寫 Feb
m 兩位數字的月(前面補0) 02
d 兩位數字的日(前面補0) 09
e 兩位數字的月(前面不補0) 9
A 星期幾的完整拼寫 Monday
a 星期幾的縮寫 Mon
j 三位數的年中的日子(前面補0),在001到366之間 069
H 兩位數字的小時(前面補0),在0到23之間 18
k 兩位數字的小時(前面不補0)在0到23之間 8
I(大寫的i) 兩位數字的小時(前面補0),在0到12之間 06
l(小寫的L) 兩位數字的小時(前面不補0),在0到12之間 6
M 兩位數字的分鐘(前面補0) 05
S 兩位數字的秒(前面補0) 19
L 三位數字的毫秒(前面補0) 047
N 九位數字的毫微秒(前面補0) 047000000
P 上午或者下午的大寫標誌 PM
p 上午或者下午的小寫標誌 pm
z 從GMT起,RFC822數字移位 -0800
Z 時區 PST
s 從格林威治時間1970-01-01 00:00:00起的秒數 107884319
Q 從格林威治時間1970-01-01 00:00:01起的毫秒數 107884319047


測試代碼

package SE;

import java.util.Date;

/**
 * 
 * <p>
 * Description: 本實例是為了學習printf對日期類型的格式化輸出
 * </p>
 * 
 * 
@author zhangjunshuai * @version 1.0 Create Date: 2014-10-16 下午6:12:50 Project Name: Java7Thread * * <pre> * * Modification History: * Date Author Version Description * ----------------------------------------------------------------------------------------------------------- * LastChange: $Date:: $ $Author: $ $Rev: $ * </pre> * */ public class PrintfDate { /** * <p> * </p> * * @author zhangjunshuai * @date 2014-10-16 下午6:12:46 * @param args */ public static void main(String[] args) { // printf方法可以打印時間格式,以t開始,以表中人以字母結束的兩個字母格式 System.out.printf("%tc\n", new Date()); System.out.printf("%tF\n", new Date()); System.out.printf("%tD\n", new Date()); System.out.printf("%tT\n", new Date()); System.out.printf("%tr\n", new Date()); System.out.printf("%tR\n", new Date()); System.out.printf("%tY\n", new Date()); System.out.printf("%ty\n", new Date()); System.out.printf("%tC\n", new Date()); System.out.printf("%tb\n", new Date()); System.out.printf("%tm\n", new Date()); System.out.printf("%td\n", new Date()); System.out.printf("%te\n", new Date()); System.out.printf("%tA\n", new Date()); System.out.printf("%ta\n", new Date()); System.out.printf("%tj\n", new Date()); System.out.printf("%tH\n", new Date()); System.out.printf("%tk\n", new Date()); System.out.printf("%tI\n", new Date()); System.out.printf("%tl\n", new Date()); System.out.printf("%tM\n", new Date()); System.out.printf("%tS\n", new Date()); System.out.printf("%tL\n", new Date()); System.out.printf("%tN\n", new Date()); System.out.printf("%tp\n", new Date()); // System.out.printf("%tP\n",new Date());//此方法報錯 應該和時區有關系 System.out.printf("%tz\n", new Date()); System.out.printf("%tZ\n", new Date()); System.out.printf("%ts\n", new Date()); System.out.printf("%tQ\n", new Date()); } }

結果:
技術分享

從上表可以看出,某些個事只給出指定日期的部分信息,如果需要多次對日期操作才能實現一部分操作的目的就太笨拙了,為此可以采用一個格式化字符串之處被格式化的參數索引。索引必須緊跟在%後面,以$終止。 索引從1開始 ,而非0。

  1. System.out.printf("%1$s %2$tB %2$te, %2$tY\n", "Due date:", new Date());//%之後的2表示的是第二個參數,此處是指的是new Date()


也可以選擇使用<標誌,它指示前面格式說明中的參數將被再次使用。

    1. System.out.printf("%s %tB %<te, %<tY", "Due date:", new Date());//選擇使用<標誌,它指示前面格式說明中的參數將被再次使用。

java的Date() 轉換符