【问题标题】:Comparison of Date and Time日期和时间的比较
【发布时间】:2013-12-05 09:13:13
【问题描述】:

我必须计算过去到今天的天数。我在 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))
}
}

请有人帮助我!

【问题讨论】:

  • 您是否只想计算天数之间的差异?
  • 我从我的mysql数据库中得到了arraylist,其中天数之间的差异已经在php中计算出来了。现在我想将我当前的日期和时间与arraylist进行比较

标签: android string date time comparison


【解决方案1】:

试试这个代码进行日期差异操作。

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

【讨论】:

  • 如何获得 td 的值?即,今天的日期为字符串?
  • @Jolly SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");日期日期 = 新日期(); String td = sdf.format(date);
  • @Jolly 根据需要更改 SimpleDateFormat("dd/MM/yyyy")。例如日期与时间或仅日期或仅时间。
  • @Ram...不,它对我不起作用。它要求我将 frmdt 和 todt 更改为字符串
【解决方案2】:

http://developer.android.com/reference/java/util/Calendar.html

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

你可以使用的方法:

boolean after(对象日历) 返回此 Calendar 实例表示的 Date 是否在参数表示的 Date 之后。 布尔值之前(对象日历) 返回此 Calendar 实例表示的 Date 是否在参数表示的 Date 之前。

【讨论】:

    【解决方案3】:

    也许你可以从你从数据库中得到的字符串构造一个日期,然后用today.before(daytime)来比较它们。

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

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      相关资源
      最近更新 更多