如何解决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;

   }