1. 程式人生 > >SimpleDateFormat日期格式解析

SimpleDateFormat日期格式解析

eee 技術分享 結果 技術 format 分享圖片 ddd 時間格式 一個

先看一個代碼示例:

import java.text.SimpleDateFormat;
import java.util.Date;

public class test{

    public static void main(String args[]) {
        Date newTime = new Date();
        //設置時間格式
        SimpleDateFormat sdf1 = new SimpleDateFormat("y-M-d h:m:s a E");
        SimpleDateFormat sdf2 = new
SimpleDateFormat("yy-MM-dd hh:mm:ss a E"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MMM-ddd hhh:mmm:sss a E"); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyyy-MMMM-dddd hhhh:mmmm:ssss a EEEE"); //獲取的時間,是本機的時間 String formatDate1 = sdf1.format(newTime); String formatDate2
= sdf2.format(newTime); String formatDate3 = sdf3.format(newTime); String formatDate4 = sdf4.format(newTime); System.out.println(formatDate1); System.out.println(formatDate2); System.out.println(formatDate3); System.out.println(formatDate4); } }

運行結果:

技術分享圖片

字符串"yyyy-MM-dd hh:mm:ss",其中:

yyyy : 代表年(不去區分大小寫) 假設年份為 2017

"y" , "yyy" , "yyyy" 匹配的都是4位完整的年 如 : "2017"

"yy" 匹配的是年分的後兩位 如 : "15"

超過4位,會在年份前面加"0"補位 如 "YYYYY"對應"02017"

MM : 代表月(只能使用大寫) 假設月份為 9

"M" 對應 "9"

"MM" 對應 "09"

"MMM" 對應 "Sep"

"MMMM" 對應 "Sep"

超出3位,仍然對應 "September"

dd : 代表日(只能使用小寫) 假設為13號

"d" , "dd" 都對應 "13"

超出2位,會在數字前面加"0"補位. 例如 "dddd" 對應 "0013"

hh : 代表時(區分大小寫,大寫為24進制計時,小寫為12進制計時) 假設為15時

"H" , "HH" 都對應 "15" , 超出2位,會在數字前面加"0"補位. 例如 "HHHH" 對應 "0015"

"h" 對應 "3"

"hh" 對應 "03" , 超出2位,會在數字前面加"0"補位. 例如 "hhhh" 對應 "0003"

mm : 代表分(只能使用小寫) 假設為32分

"m" , "mm" 都對應 "32" , 超出2位,會在數字前面加"0"補位. 例如 "mmmm" 對應 "0032"

ss : 代表秒(只能使用小寫) 假設為15秒

"s" , "ss" 都對應 "15" , 超出2位,會在數字前面加"0"補位. 例如 "ssss" 對應 "0015"

E : 代表星期(只能使用大寫) 假設為 Sunday

"E" , "EE" , "EEE" 都對應 "Sun"

"EEEE" 對應 "Sunday" , 超出4位 , 仍然對應 "Sunday"

a : 代表上午還是下午,如果是上午就對應 "AM" , 如果是下午就對應 "PM"

其中的分隔符"-"可以替換成其他非字母的任意字符(也可以是漢字),例如:

技術分享圖片

運行結果為:

技術分享圖片

SimpleDateFormat日期格式解析