版权声明:转载请标明出处 https://blog.csdn.net/easy_purple/article/details/80779663
在安卓数据库存储时间的时候,直接存储的New Date(),然而当读取数据库的时候,读出来的字符串为
Fri Jun 22 19:50:49 GMT+08:00 2018,当然我们想要的是18-06-22 21:41
接下来来说一下,通过读取数据库获得的字符串时间,进行格式化,进而转化为我们想要的格式:
通过游标来获得的时间数据:cursor.getString(2);返回的是一个字符串:Fri Jun 22 19:50:49 GMT+08:00 2018
我们先把这个字符串转化为Date格式:
public
static
Date formatDate2(String dateStr) {
String[] aStrings = dateStr.split(
" "
);
// 5
if
(aStrings[1].equals(
"Jan"
)) {
aStrings[1] =
"01"
;
}
if
(aStrings[1].equals(
"Feb"
)) {
aStrings[1] =
"02"
;
}
if
(aStrings[1].equals(
"Mar"
)) {
aStrings[1] =
"03"
;
}
if
(aStrings[1].equals(
"Apr"
)) {
aStrings[1] =
"04"
;
}
if
(aStrings[1].equals(
"May"
)) {
aStrings[1] =
"05"
;
}
if
(aStrings[1].equals(
"Jun"
)) {
aStrings[1] =
"06"
;
}
if
(aStrings[1].equals(
"Jul"
)) {
aStrings[1] =
"07"
;
}
if
(aStrings[1].equals(
"Aug"
)) {
aStrings[1] =
"08"
;
}
if
(aStrings[1].equals(
"Sep"
)) {
aStrings[1] =
"09"
;
}
if
(aStrings[1].equals(
"Oct"
)) {
aStrings[1] =
"10"
;
}
if
(aStrings[1].equals(
"Nov"
)) {
aStrings[1] =
"11"
;
}
if
(aStrings[1].equals(
"Dec"
)) {
aStrings[1] =
"12"
;
}
DateFormat df =
new
SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss"
);
String date = aStrings[5] +
"-"
+ aString
s[1] +
"-"
+ aSt
rings[2] +
" "
+ aStrings[3];
Date datetime =
null
;
try
{
datetime = df.parse(date);
}
catch
(ParseException e) {
//
TODO
Auto-generated catch block
e.printStackTrace();
}
return
datetime;
}
然后,我们将获得的Date转化为我们想要的格式
//将数据库中的时间(字符串)格式转化为相应的格式
String str=
""
;
SimpleDateFormat sdf1=
new
SimpleDateFormat(
"yy-MM-dd HH:mm"
,Locale.
CHINA
);
Date d=
formatDate2
(cursor.getString(2));
str=sdf1.format(d);
str即是我们想要的格式的字符串了。
如果想要 06-22 这种格式,只需将代码改为
SimpleDateFormat sdf1=
new
SimpleDateFormat(
"MM-dd"
,Locale.
CHINA
);
以此类推,06-22 19:21等等。。