您的位置:首页 > 编程语言 > Java开发

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

2016-03-02 14:49 537 查看
关于Date,时间戳(long),String类型之间的相互转换,主要是用到类SimpleDateFormat.

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

  1.参数:

code

describe

Format

example

G
Era designatorText
AD
y
YearYear
1996
;
96
Y
Week yearYear
2009
;
09
M
Month in yearMonth
July
;
Jul
;
07
w
Week in yearNumber
27
W
Week in monthNumber
2
D
Day in yearNumber
189
d
Day in monthNumber
10
F
Day of week in monthNumber
2
E
Day name in weekText
Tuesday
;
Tue
u
Day number of week (1 = Monday, ..., 7 = Sunday)Number
1
a
Am/pm markerText
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 hourNumber
30
s
Second in minuteNumber
55
S
MillisecondNumber
978
z
Time zoneGeneral time zone
Pacific Standard Time
;
PST
;
GMT-08:00
Z
Time zoneRFC 822 time zone
-0800
X
Time 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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: