我正在将字符串转换为android中的日期对象...... 该字符串来自服务器的形式为“2014-02-22”或类似的东西...我想将其转换为我可以在我的应用程序中使用的日期.. 我正在使用简单日期格式,解析方法转换.... 但是这个语句抛出了解析异常...意思是它没有转换我的字符串..这是“2014-02-22”...... 它应该转换,但它不.... 所以亲切地帮助我......我的回答是无效的
@SuppressLint("SimpleDateFormat")
public static Date getDate(String string){
Date date = null;
try {
date = new Date();
date = new SimpleDateFormat("yyyy/MM/dd").parse(string);
}
catch (ParseException e) { e.printStackTrace(); }
catch (java.text.ParseException e) { e.printStackTrace(); }
return date;
}
答案 0 :(得分:2)
尝试如下......
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date;
@SuppressLint("SimpleDateFormat")
public static Date getDate(String string){
date = new Date();
try {
date = format.parse(string);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
答案 1 :(得分:1)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date testDate = null;
try {
testDate = sdf.parse("2013-11-12");
}
catch(Exception ex) {
ex.printStackTrace();
}
int date= testDate.getDate();
int month = testDate.getMonth();
int year = testDate.getYear();
答案 2 :(得分:0)
只需使用SimpleDateFormat
(点击链接查看所有格式模式)。
String string = "2014-02-22";
Date date = new SimpleDateFormat("yyy-M-d", Locale.ENGLISH).parse(string);
System.out.println(date); // Sat Jan 02 00:00:00 BOT 2010
以下是the javadoc的相关摘录,其中列出了所有可用的格式模式:
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
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 in week Text Tuesday; Tue
u Day number of week 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 Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00