每次应用程序由用户启动时,我都会将当前时间存储在数据库中。
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; }
从字符串到日期
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(); }