首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android,如何将字符串转换为日期?

Android,如何将字符串转换为日期?
EN

Stack Overflow用户
提问于 2011-12-20 17:27:22
回答 7查看 280.2K关注 0票数 171

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

代码语言:javascript
复制
Calendar c = Calendar.getInstance();
    String str = c.getTime().toString();
    Log.i("Current time", str);

在数据库端,我将当前时间存储为字符串(如上面的代码所示)。因此,当我从数据库加载它时,我需要将它转换为Date对象。我看到了一些他们都使用过"DateFormat“的示例。但我的格式与日期格式完全相同。因此,我认为没有必要使用"DateFormat“。我说的对吗?

有没有什么办法可以直接将这个字符串转换为Date对象?我想将这个存储时间与当前时间进行比较。

谢谢

======> 更新

谢谢,亲爱的朋友。我使用了以下代码:

代码语言:javascript
复制
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;            

   }
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-12-20 17:33:35

从字符串到日期

代码语言:javascript
复制
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();  
}

从日期到字符串

代码语言:javascript
复制
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();  
}
票数 476
EN

Stack Overflow用户

发布于 2011-12-20 17:31:15

代码语言:javascript
复制
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date d = dateFormat.parse(datestring)
票数 12
EN

Stack Overflow用户

发布于 2011-12-20 17:34:40

通过使用SimpleDateFormat或DateFormat类

例如

代码语言:javascript
复制
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
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8573250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档