Android的,我怎么能字符串转换为日期? [英] Android, How can I Convert String to Date?

查看:177
本文介绍了Android的,我怎么能字符串转换为日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我存储在数据库中的每一次应用程序启动时用户当前时间。

 日历C = Calendar.getInstance();
    。字符串str = c.getTime()的toString();
    Log.i(当前时间,STR);
 

在数据库端,我存储当前时间的字符串(如你看到上面的code)。所以,当我从数据库加载它,我需要将其转换为Date对象。我看到一些样品,他们都用了日期格式。但我的格式是完全一样一样的日期格式。所以,我觉得没有必要使用日期格式。我说得对?

反正是有直接施放此字符串Date对象?我想这个存储的时间与当前时间进行比较。

感谢

==> 更新

感谢亲爱的家伙。我用下面的code:

 私人布尔isPackageExpired(字符串日期){
        布尔isExpired = FALSE;
        日期expiredDate = stringToDate(日期,EEE MMMðHH:MM:SS ZZ YYYY);
        如果(新的日期()后(expiredDate)。)isExpired = TRUE;

        返回isExpired;
    }

    私人日期stringToDate(字符串A日期,字符串aFormat){

      如果(A日期== NULL)返回NULL;
      一个ParsePosition POS =新的ParsePosition(0);
      SimpleDateFormat的SimpleDateFormat的=新的SimpleDateFormat(aFormat);
      日期stringDate = simpledateformat.parse(A日期,POS);
      返回stringDate;

   }
 

解决方案

从字符串到日期

 字符串DTSTART =2010-10-15T09:27:37Z;
SimpleDateFormat的格式=新的SimpleDateFormat(YYYY-MM-dd'T'HH:MM:ss'Z');
尝试 {
    日期日期= format.parse(DTSTART);
    的System.out.println(日期);
}赶上(ParseException的E){
    // TODO自动生成的catch块
    e.printStackTrace();
}
 

从日期为字符串

  SimpleDateFormat的日期格式=新的SimpleDateFormat(YYYY-MM-dd'T'HH:MM:ss'Z');
尝试 {
    日期日期=新的日期();
    字符串日期时间= dateFormat.format(日期);
    的System.out.println(当前日期时间:+日期时间);
}赶上(ParseException的E){
    // TODO自动生成的catch块
    e.printStackTrace();
}
 

I store current time in database each time application starts by user.

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

In database side, I store current time as string (as you see in above code). Therefore, when I load it from database, I need to cast it to Date object. I saw some samples that all of them had used "DateFormat". But my format is exactly as same as Date format. So, I think there is no need to use "DateFormat". Am I right?

Is there anyway to directly cast this String to Date object? I want to compare this stored time with current time.

Thanks

======> update

Thanks dear guys. I used following code:

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;            

   }

解决方案

From String to 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) {  
    // TODO Auto-generated catch block  
    e.printStackTrace();  
}

From Date to 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) {  
    // TODO Auto-generated catch block  
    e.printStackTrace();  
}

这篇关于Android的,我怎么能字符串转换为日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆