Android,如何将string转换为date?

每次应用程序由用户启动时,我将当前时间存储在数据库中

Calendar c = Calendar.getInstance(); String str = c.getTime().toString(); Log.i("Current time", str); 

在数据库端,我将当前时间存储为string(如您在上面的代码中所见)。 因此,当我从数据库中加载它时,我需要将它转换为Date对象。 我看到一些样本,他们都使用“DateFormat”。 但是我的格式和date格式完全一样。 所以,我认为没有必要使用“DateFormat”。 我对吗?

反正有直接把这个string转换为Date对象吗? 我想比较这个存储时间和当前时间。

谢谢

======> 更新

谢谢亲爱的家伙 我用下面的代码:

 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; } 

从string到date

 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(); } 

从date到string

 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(); } 
 SimpleDateFormat dateFormat = new SimpleDateFormat("DD-MM-YYYY"); Date d = dateFormat.parse(datestring) 

使用SimpleDateFormat或DateFormat类

例如

 try{ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // here set the pattern as you date in string was containing like date/month/year Date d = sdf.parse("20/12/2011"); }catch(ParseException ex){ // handle parsing exception if date string was different from the pattern applying into the SimpleDateFormat contructor } 

使用c.getTime().toString();的Locale可能是一个好主意c.getTime().toString(); 依靠。

一个想法是以秒为单位存储时间(例如, UNIX时间 )。 作为一个int你可以很容易地比较它,然后你把它转换为string时,显示给用户。