与用户输入时间和日历时间进行比较

时间:2015-03-16 08:27:58

标签: java android

我正在开发一个时间管理应用程序。对于我的作业模块部分,我允许用户选择他们想要的截止日期,并且它将与电话时间进行比较,它会突出显示在作业截止日期前一天变为红色的作业。

更新的问题 我成功获得日期和比较bt得到错误剩余的一天。下面是我的源代码,sry为我的编码流程,我知道它非常混乱。

    // get the current date
    final Calendar c = Calendar.getInstance();
    Date today = Calendar.getInstance().getTime();
    //show current date
    TextView current = (TextView)findViewById(R.id.textView);
    SimpleDateFormat df = new SimpleDateFormat("ddMyyyy");
    String formattedDate = df.format(c.getTime());
    current.setText(formattedDate);

    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);
    //get the remainder date
    int days = Days.daysBetween(new DateTime(formattedDate), new DateTime(today)).getDays();

    //show the remainder date
    String tempdays = String.valueOf(days);
    TextView txtdate3 = (TextView) findViewById(R.id.textView3);
    txtdate3.setText(tempdays);

     //show the user input date from datepicker
    label=(TextView)findViewById(R.id.textView2);
    // display the current date
    updatedate();

    btn=(Button)findViewById(R.id.button);
    btn.setOnClickListener(this);

致命的例外:主要     java.lang.RuntimeException:无法启动活动ComponentInfo {my.com.chyi.assigment / my.com.chyi.assigment.MainActivity}:java.lang.IllegalArgumentException:格式无效:“06/22/2010”格式错误“/ 22/2010"java.lang.IllegalArgumentException:格式无效:”20/20/2015“格式错误于”/ 20/2015“  java.lang.IllegalArgumentException:格式无效:“21/20/2015”格式错误在“/ 20/2015”java.lang.ArithmeticException:值不能适合int:-7743140921java.lang.ArithmeticException:Value不适合int:-9204110890java.lang.ArithmeticException:值不能适合int:-7396160515java.lang.ArithmeticException:值不能适合int:-6355219424java.lang.ArithmeticException:值不能适合int:-6388091249

1 个答案:

答案 0 :(得分:0)

如果您使用JodaTime库,您可以像这样编写它:

import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.Days;

Date past = new Date(110, 5, 20); // June 20th, 2010
Date today = new Date(110, 6, 24); // July 24th 
int days = Days.daysBetween(new DateTime(past), new DateTime(today)).getDays(); // => 34

Difference in days between two dates in Java?