View Full Version : فاصله زمانی بین دو تاریخ
dc-master
یک شنبه 25 اسفند 1392, 15:33 عصر
سلام چطوری میشه فاصله دو زمان رو محاسبه کرد؟
مثلا از 2014/2/16 تا 2014/5/23 چند روزه؟
smemamian
یک شنبه 25 اسفند 1392, 16:38 عصر
تابع های دیگه ای هم داره، مثلاً برای دریافت ساعت
تابع getHours() فراخوانی کن:
Date timeone = new Date();
Date timetwo = new Date();
long gettime = (timetwo.getSeconds()) - (timeone.getSeconds()) ;
dc-master
دوشنبه 26 اسفند 1392, 08:06 صبح
تابع های دیگه ای هم داره، مثلاً برای دریافت ساعت
تابع getHours() فراخوانی کن:
Date timeone = new Date();
Date timetwo = new Date();
long gettime = (timetwo.getSeconds()) - (timeone.getSeconds()) ;
خوب این برای ثانیه،ساعت،ماه خوب کار میده ولی برای تاریخ کار نمیده
من می خوام فاصله مثلا 2014/2/17 تا 2014/6/26 رو بدست بیارم
int year1 = 2014; int month1 = 6;
int day1 = 26;
Date timeone = new Date(year1,month1,day1);
Date timetwo = new Date();
long getdate = (timetwo.getDate()) - (timeone.getDate());
micro24
دوشنبه 26 اسفند 1392, 08:24 صبح
با سلام
لینک زیر را مشاهده نمائید
http://www.mkyong.com/java/how-to-calculate-date-time-difference-in-java/
dc-master
دوشنبه 26 اسفند 1392, 08:47 صبح
درس شد
ممنون
public String fill2(int value)
{
String erg = String.valueOf(value);
if (erg.length() < 2)
erg = "0" + erg;
return erg;
}
public String get_duration(Date date1, Date date2)
{
TimeUnit timeUnit = TimeUnit.SECONDS;
long diffInMillies = date2.getTime() - date1.getTime();
long s = timeUnit.convert(diffInMillies, TimeUnit.MILLISECONDS);
long days = s / (24 * 60 * 60);
long rest = s - (days * 24 * 60 * 60);
long std = rest / (60 * 60);
long rest1 = rest - (std * 60 * 60);
long min = rest1 / 60;
long sec = s % 60;
String dates = "";
if (days > 0)
dates += days + " Days ";
dates += fill2((int) std) + "h ";
dates += fill2((int) min) + "m ";
dates += fill2((int) sec) + "s ";
return dates;
}
ashkan_gorg
دوشنبه 26 اسفند 1392, 09:26 صبح
میشه یه مثال کوچولو هم براش بزارید واسه من که زیاد بلد نیستم مرسی
dc-master
دوشنبه 26 اسفند 1392, 20:05 عصر
int year1 = 114; int month1 = 5;
int day1 = 27;
@SuppressWarnings("deprecation")
Date date2 = new Date(year1,month1,day1);
Date date1 = new Date();
String get=get_duration(date1, date2);
txt.setText(get);
public String fill2(int value)
{
String erg = String.valueOf(value);
if (erg.length() < 2)
erg = "0" + erg;
return erg;
}
public String get_duration(Date date1, Date date2)
{
TimeUnit timeUnit = TimeUnit.SECONDS;
long diffInMillies = date2.getTime() - date1.getTime();
long s = timeUnit.convert(diffInMillies, TimeUnit.MILLISECONDS);
long days = s / (24 * 60 * 60);
long rest = s - (days * 24 * 60 * 60);
long std = rest / (60 * 60);
long rest1 = rest - (std * 60 * 60);
long min = rest1 / 60;
long sec = s % 60;
String dates = "";
if (days > 0)
dates += days + " روز ";
dates += fill2((int) std) + "ساعت";
dates += fill2((int) min) + "دقیقه ";
dates += fill2((int) sec) + "ثانیه ";
return dates;
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.