java类型转化之SimpleDateFormat-时间转化

本文详细介绍了日期时间的转换方法,特别是如何使用SimpleDateFormat类进行日期时间格式的转换,包括日期到字符串、字符串到日期的转换过程,并提供了实例代码进行演示。

关于Date,时间戳(long),String类型之间的相互转换,主要是用到类SimpleDateFormat.

先介绍SimpleDateFormat类的一些常见格式:

  1.参数:

code

describe

Format

example

GEra designatorTextAD
yYearYear199696
YWeek yearYear200909
MMonth in yearMonthJulyJul07
wWeek in yearNumber27
WWeek in monthNumber2
DDay in yearNumber189
dDay in monthNumber10
FDay of week in monthNumber2
EDay name in weekTextTuesdayTue
uDay number of week (1 = Monday, ..., 7 = Sunday)Number1
aAm/pm markerTextPM
HHour in day (0-23)Number0
kHour in day (1-24)Number24
KHour in am/pm (0-11)Number0
hHour in am/pm (1-12)Number12
mMinute in hourNumber30
sSecond in minuteNumber55
SMillisecondNumber978
zTime zoneGeneral time zonePacific Standard TimePSTGMT-08:00
ZTime zoneRFC 822 time zone-0800
XTime zoneISO 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();
    }
}

 

转载于:https://www.cnblogs.com/not-NULL/p/5055161.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值