我正在开发一个时间管理应用程序。对于我的作业模块部分,我允许用户选择他们想要的截止日期,并且它将与电话时间进行比较,它会突出显示在作业截止日期前一天变为红色的作业。
更新的问题 我成功获得日期和比较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
答案 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