Java 日期类型与字符串的相互转换

时间:2021-11-29 15:33:40

Java 日期类型与字符串的相互转换

日期类型中,英文字符的含义:

字符 含义 示例
G Era标志符 Text AD
y 年 Year yyyy 1996; yy 96
Y 当天所在的周属于的年份 YYYY 1996
M 年中的月份 Month MMM => July; Jul; MM => 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 PFC 822 time zone -0800

使用的类:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

(一) 字符串转日期格式

例一 : 字符串 "31/08/2015:00:04:37" 转日期 Mon Aug 31 00:04:37 CST 2015
step 1 : 
//这里是要被转换的字符串格式 "31/08/2015:00:04:37"
SimpleDateFormat srtFormat = new SimpleDateFormat("dd/MM/yyyy:HH:mm:ss");
step 2 : 
//将字符串日期转为默认的日期类型的格式 Mon Aug 31 00:04:37 CST 2015
Date date = strFormat.parse(strDate)  


例二: 字符串 "31/Aug/2015:00:04:37 +0800" 转日期 
step 1 : 
//这里是要被转换的字符串格式 以及时区"
SimpleDateFormat srtFormat = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss",Locale.ENGLISH);
step 2 : 
//将字符串日期转为默认的日期类型的格式 Mon Aug 31 00:04:37 CST 2015
Date date = strFormat.parse(strDate)  

(二)日期格式转字符串

例一 :/将默认日期类型 Mon Aug 31 00:04:37 CST 2015 转为需要的字符串格式
//这里是需要转换成字符串的格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String formatDate = dateFormat.format(defaultDate);
将得到字符串 "2015-08-31 00:04:37"