Android 日期和时间的比较

Android 日期和时间的比较,android,string,date,time,comparison,Android,String,Date,Time,Comparison,我必须计算从过去到今天的天数。我在arraylist中列出了天数列表。我得到了列表,但我不知道如何比较。有人能帮我吗 这是我试过的代码 private void weeklylogeval(){ int i; DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); dateFormatter.setLenient(false); Date today = new Date(); String s =

我必须计算从过去到今天的天数。我在arraylist中列出了天数列表。我得到了列表,但我不知道如何比较。有人能帮我吗

这是我试过的代码

private void weeklylogeval(){
    int i;
DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
dateFormatter.setLenient(false);
Date today = new Date();
String s = dateFormatter.format(today);
System.out.println("current date & time new:::"+s);
for(i=0;i<datetime.size();i++){
String daytime=datetime.get(i);
if(today.before(daytime))
}
}
private void weeklylogeval(){
int i;
DateFormat dateFormatter=新的SimpleDateFormat(“yyyy-MM-dd hh:MM:ss”);
dateFormatter.setLenient(false);
今天日期=新日期();
字符串s=dateFormatter.format(今天);
System.out.println(“当前日期和时间新::”+s);
对于(i=0;i

这应该更容易用于您的目的 编辑:

您可以使用的方法:

布尔值(对象日历) 返回此日历实例表示的日期是否在参数表示的日期之后。 前布尔值(对象日历)
返回此日历实例表示的日期是否早于参数表示的日期。

也许您可以从DB获取的字符串中构造一个日期,然后使用
today.before(Day)
来比较它们

Date daytime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(datetime.get(i));

请尝试使用此代码进行日期差异处理

String fd=from_date;//date get from mysql database as string.
String td=to_date;//Today's date as string.
if(!fd.equalsIgnoreCase("") && !td.equalsIgnoreCase("")){
       SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
           SimpleDateFormat formatter;
           Date frmdt=new Date(fd);
           formatter = new SimpleDateFormat("dd/MM/yyyy");
           String s1 = formatter.format(frmdt);
           Date todt=new Date(td);
           String s2 = formatter.format(todt);
           Date frmdate = sdf.parse(s1);
           Date todate = sdf.parse(s2);
                  if(frmdate.compareTo(todate)<=0) {
                                //do your stuff
                     } else {
                                // do your stuff
                     }
             }
String fd=from_date;//以字符串形式从mysql数据库获取日期。
String td=to_date;//今天的日期为String。
如果(!fd.equalsIgnoreCase(“”)&!td.equalsIgnoreCase(“”){
SimpleDataFormat sdf=新的SimpleDataFormat(“日/月/年”);
SimpleDataFormat格式化程序;
日期frmdt=新日期(fd);
格式化程序=新的SimpleDataFormat(“dd/MM/yyyy”);
字符串s1=格式化程序.format(frmdt);
日期todt=新日期(td);
字符串s2=格式化程序.format(todt);
Date frmdate=sdf.parse(s1);
datetodate=sdf.parse(s2);

如果(frmdate.compareTo)(todate)您只想计算日差吗?我从mysql数据库中获得了arraylist,其中日差已经用php计算。现在我想将我当前的日期和时间与arraylist进行比较。如何获得td的值?例如,今天的日期作为字符串?@Jolly SimpleDateFormat sdf=new SimpleDateFormat(“dd/MM/yyyy”);Date-Date=new-Date();String td=sdf.format(Date);@Jolly根据需要更改SimpleDateFormat(“dd/MM/yyyyy”)。例如带时间的日期、仅带日期的日期或仅带时间的日期。@Ram…不适用于我。它要求我将frmdt和todt更改为字符串