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  :: CST
再转化为自定义格式: --

    程序代码:

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();
}
}
上一篇:iOS开发基础-图片切换(4)之懒加载


下一篇:普通文件的上传(表单上传和ajax文件异步上传)