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

 

你可能感兴趣的:(java类型转化之SimpleDateFormat-时间转化)