在我的活动中,我有2个Datepicker,我选择开始日期(例如2014年1月1日)和结束日期(例如2014年1月12日)。然后我必须在他们的日期同时插入12条记录,也就是说,在我的日期字段中会有以下几行:
01/01/2014
01/02/2014
01/03/2014
01/04/2014
01/05/2014
01/06/2014
01/07/2014
01/08/2014
01/09/2014
01/10/2014
01/11/2014
01/12/2014
到目前为止只能计算出发日期和结束日期之间的差异,但我不确切知道如何将所有这些记录放在一起。谢谢你的帮助。
我的代码来计算日期之间的差异(JodaTime)
public void diff_date(View v){
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String date_in = sdf.format( dateAndTime.getTime() );
String date_out = sdf.format( dateAndTime1.getTime() );
int differenza_date = Days.daysBetween(new DateTime(date_in), new DateTime(date_out)).getDays();
答案 0 :(得分:2)
与在SQL中一样,您可以插入多行,这样就可以使您的字符串像
一样INSERT INTO 'tablename' ('column1') VALUES
('val1'),
('val2'),
('val2'),
('val2');
这里插入代码的实现:
public void diff_date(View v){
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String insertRows = "INSERT INTO 'tablename' ('column1') VALUES";
String date_in = sdf.format( dateAndTime .getTime() );
String date_out = sdf.format( dateAndTime1.getTime() );
int differenza_date = Days.daysBetween(new DateTime(date_in), new DateTime(date_out)).getDays();
for(int i=1 ; i < differenza_date ; i++)
{
// increase i day each time and save it in string
insertRows += "("+increasedDate+"),"
}
// and here insert into database
db.execSQL(insertRows)
}