بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
محاصبه اختلاف دو تاریخ _فوری
سلام دوستان وقتتون بخیر ، برای کوئری گرفتن از بازه دو تاریخ چه تابعی و باید بنویسم ؟هر کاری کردم نشد و فقط تونستم یه سطر و کوئری بگیرم برای گزارش گیری لازم دارم ممنون میشم راهنمایی کنید کوئری که میخوام بگیرم اینه
String querydate = db.query("Select * From charge Where date(Date) BETWEEN" + 1395/10/5 +"and"+1395/10/14 , 3);
عدد3 مکان آی دی مورد نظر و میخوام کوئری بگیرم
اینم تابعی که در دیتا بایس نوشتم اما فقط یه سطر و بر میگردونه لطفا کمک کنید من باید آی دی هر سطر و هم در کوئری قید کنم اما با این تابع نمیشه
public String query(String queryText,int fieldIndex){
Cursor cu = mydb.rawQuery(queryText, null);
String result = "";
if(cu.getCount() > 0){
cu.moveToFirst();
result = cu.getString(fieldIndex);
}else if(cu.getCount() < 0){
result = "";
}
return result;
}
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
JOBS
7 سال پیش
0
0
String querydate = db.query("SELECT * FROM charge WHERE date(Date) BETWEEN '"+ 1395/10/5 +"' and '"+1395/10/14+"'"
, 3);
فکر کنم اینطوری بنویسی جواب بده البته او 3 اخر رو نفهمیدم چیه
اتفاقا مشغول اینم اینطوری دادم اما باید داخل "1395/10/14" گذاشت وگرنه 1395 و تقسیم بر 9 و14 میکنه حالا یه مشکل کوچیک پیدا شده
وقتی من میخوام یه رشته و بدم اونو داخل "" نمیشه گذاشت و بهمین صورت قرار میده +1395/10/5+ و اینکار باعث تقسیم میشه حالا میخوام یکاری کنم که رشته ورودی که میدم تبدیل به آبجکت date بشه تا عبارت ورودی و داخل " " بزاره و کدم خطا داره
String reportDate = allEditTexts[0].getText().toString();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date date = formatter.parse(reportDate);
(7 سال پیش)
پاسخ به سوال
116236
5 سال پیش
0
0
من این کد رو استفاده کردم، جواب داد:
/**
* return format: yyyy/MM/dd hh:mm
*
*/
public static String getCurrentDate_MiladiWithTime() {
Calendar cal = Calendar.getInstance();
int Day = cal.get(Calendar.DAY_OF_MONTH);
int Month = cal.get(Calendar.MONTH) + 1;
int Year = cal.get(Calendar.YEAR);
Time now = new Time(Time.getCurrentTimezone());
now.setToNow();
String today = Year + "/" + Month + "/" + Day + " " + now.format("%k:%M");
return today;
}
/**
* form of input data:yyyy/MM/dd HH:mm;
*
*/
public static String calculate_new(String targetDate) {
Log.i("LOG", targetDate);
String nowDate = getCurrentDate_MiladiWithTime();
//HH converts hour in 24 hours format (0-23), day calculation
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date d1 = null;
Date d2 = null;
String returnValue = "";
try {
d1 = format.parse(targetDate);
d2 = format.parse(nowDate);
//in milliseconds
long diff = (d2.getTime() - d1.getTime()) / 1000;
int minute = 60;
int hour = minute * 60;
int day = hour * 24;
int month = day * 30;
int year = day * 365;
int diffYears = (int) Math.floor(diff / year);
diff -= diffYears * year;
int diffMonthes = (int) Math.floor(diff / month);
diff -= diffMonthes * month;
int diffDays = (int) Math.floor(diff / day);
diff -= diffDays * day;
int diffHours = (int) Math.floor(diff / hour);
diff -= diffHours * hour;
int diffMinutes = (int) Math.floor(diff / minute);
/*
//if you don't need all item simultaneously and want all values complete:
int diffYears = (int) Math.floor(diff / year);
int diffMonthes = (int) Math.floor(diff / month);
int diffDays = (int) Math.floor(diff / day);
int diffHours = (int) Math.floor(diff / hour);
int diffMinutes = (int) Math.floor(diff / minute);
*/
Log.i("LOG", diffYears + " years, ");
Log.i("LOG", diffMonthes + " monthes, ");
Log.i("LOG", diffDays + " days, ");
Log.i("LOG", diffHours + " hours, ");
Log.i("LOG", diffMinutes + " minutes, ");
Log.i("LOG", diff + " diff, ");
if (diffYears != 0) {
returnValue = diffYears + " " + "سال";
} else if (diffMonthes != 0) {
returnValue = diffMonthes + " " + "ماه";
} else if (diffDays != 0) {
returnValue = diffDays + " " + "روز";
} else if (diffHours != 0) {
returnValue = diffHours + " " + "ساعت";
} else if (diffMinutes != 0) {
returnValue = diffMinutes + " " + "دقیقه";
} else {
returnValue = "لحظه ای";
}
}
catch (Exception e) {
e.printStackTrace();
}
return returnValue + " قبل";
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .