如何解决Android:如何将字符串转换为日期??
从字符串到日期
String dtStart = "2010-10-15T09:27:37Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
try {
Date date = format.parse(dtStart);
System.out.println(date);
} catch (ParseException e) {
e.printstacktrace();
}
从日期到字符串
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
try {
Date date = new Date();
String dateTime = dateFormat.format(date);
System.out.println("Current Date Time : " + dateTime);
} catch (ParseException e) {
e.printstacktrace();
}
解决方法
每次应用程序由用户启动时,我都会将当前时间存储在数据库中。
Calendar c = Calendar.getInstance();
String str = c.getTime().toString();
Log.i("Current time",str);
在数据库方面,我将当前时间存储为字符串(如您在上面的代码中所见)。因此,当我从数据库加载它时,我需要将它转换为 Date
对象。我看到了一些样本,他们都使用了“DateFormat”。但我的格式与日期格式完全相同。所以,我认为没有必要使用“DateFormat”。我对吗?
反正有没有直接将此字符串转换为日期对象?我想将此存储的时间与当前时间进行比较。
更新
谢谢大家。我使用了以下代码:
private boolean isPackageExpired(String date){
boolean isExpired=false;
Date expiredDate = stringToDate(date,"EEE MMM d HH:mm:ss zz yyyy");
if (new Date().after(expiredDate)) isExpired=true;
return isExpired;
}
private Date stringToDate(String aDate,String aFormat) {
if(aDate==null) return null;
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat simpledateformat = new SimpleDateFormat(aFormat);
Date stringDate = simpledateformat.parse(aDate,pos);
return stringDate;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。