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"