java的Date() 轉換符
阿新 • • 發佈:2017-10-27
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。
- System.out.printf("%1$s %2$tB %2$te, %2$tY\n", "Due date:", new Date());//%之後的2表示的是第二個參數,此處是指的是new Date()
也可以選擇使用<標誌,它指示前面格式說明中的參數將被再次使用。
- System.out.printf("%s %tB %<te, %<tY", "Due date:", new Date());//選擇使用<標誌,它指示前面格式說明中的參數將被再次使用。
java的Date() 轉換符