java類型轉化之SimpleDateFormat-時間轉化


關於Date,時間戳(long),String類型之間的相互轉換,主要是用到類SimpleDateFormat.

先介紹SimpleDateFormat類的一些常見格式:

  1.參數:

code

describe

Format

example

G Era designator Text AD
y Year Year 199696
Y Week year Year 200909
M Month in year Month JulyJul07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text TuesdayTue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard TimePSTGMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08-0800-08:00

 

  2.函數:

   Date parse(String):把時間樣式的字符串按照SimpleDateFormat規定的格式轉化為Date

   案例:

   /*
     * 將date類型轉化為某規定格式
     * SimpleDateFormat 定義自己想要的格式
     * 注意:若要在時間中插入普通字符,加上單引號''即可,eg:下列函數中的'T'和'Z',將會輸出T字符和Z字符
     */
    private static void Date2Format(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SSS'Z'");
        Date date=new Date();
        System.out.println("現在時間:\t"+date);
        System.out.println("格式化:\t"+sdf.format(date));
        
    }

運行結果:

現在時間: Wed Mar 02 14:42:15 CST 2016
格式化:   2016-03-02T14:42:328Z

   String format(Date):將date轉化為string類型

   案例:

   /*
     * 將某格式的字符串時間轉化為時間格式
     * SimpleDateFormat定義為原時間字符串的格式,eg:sdf的格式定義
     */
    private static void Format2Date(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SSS'Z'");
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        String strDate="2016-03-02T14:27:799Z";
        try {
            System.out.println("轉化為date類型:"+sdf.parse(strDate));
            System.out.println("再轉化為自定義格式:"+sdf1.format(sdf.parse(strDate)));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    運行結果:

轉化為date類型:       Wed Mar 02 14:27:00 CST 2016
再轉化為自定義格式:    2016-03-02

 

    程序代碼:

package Test;

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

/**
 * @author 
 * @version 創建時間:
 * 
 */

/*
 * SimpleDateFormat 主要是兩個方法: 1.String format (Object obj) 將時間格式的object格式化為自定義格式
 * 2.Date parse(String source) 將時間格式的字符串轉化為時間格式
 */
public class DateFormat {
    /*
     * 將date類型轉化為某規定格式 SimpleDateFormat 定義自己想要的格式
     * 注意:若要在時間中插入普通字符,加上單引號''即可,eg:下列函數中的'T'和'Z',將會輸出T字符和Z字符
     */
    private static void Date2Format() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SSS'Z'");
        Date date = new Date();
        System.out.println("現在時間:\t" + date);
        System.out.println("格式化:\t" + sdf.format(date));

    }

    /*
     * 將某格式的字符串時間轉化為時間格式 SimpleDateFormat定義為原時間字符串的格式,eg:sdf的格式定義
     */
    private static void Format2Date() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:SSS'Z'");
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        String strDate = "2016-03-02T14:27:799Z";
        try {
            System.out.println("轉化為date類型:\t" + sdf.parse(strDate));
            System.out.println("再轉化為自定義格式:\t" + sdf1.format(sdf.parse(strDate)));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /*
     * 測試主函數
     */
    public static void main(String[] args) throws ParseException {
        Date2Format();
        Format2Date();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM