بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
زمان ارسال مانند برنامه دیوار
سلام
دوستان کسی میدونه چطور میشه کد زمان ارسال یک پست در برنامه ، مانند برنامه دیوار نوشت؟
برای مثال وقتی داخل برنامه پست میذاری تو لیست ویو بنویسه " دقایقی قبل" یا " هم اکنون" و ...
0
0
کسی نیست کمک کنه؟ (11 سال پیش)
0
0
منظورتون این هست که می نویسه چند دقیقه پیش یا چند ساعت پیش ؟ (11 سال پیش)
0
0
کلا منظورم تبدیل تاریخ میلادی به شمسی و بعدش کسر کردن اون عدد از تاریخ فعلیه که احتمالا با if نوشته شده (11 سال پیش)
برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال
AhmadVB
11 سال پیش
+3
0
همونطور که خودتون گفتید با چند تا if یا با switch...case می شود پیاده سازی کرد. البته شما باید قبل از اینکه بخواهید یک تاریخ را به شمسی تبدیل کنید اختلاف آنها را حساب کنید.
با اسفاده از روش زیر می توانید اختلاف زمانی بین دو تاریخ را پیدا کنید.
String dateStart = "01/14/2012 09:29:58";
String dateStop = "01/15/2012 10:31:48";
Date d1 = null; Date d2 = null; try { d1 = format.parse(dateStart); d2 = format.parse(dateStop); //in milliseconds long diff = d2.getTime() - d1.getTime(); long diffSeconds = diff / 1000 % 60; long diffMinutes = diff / (60 * 1000) % 60; long diffHours = diff / (60 * 60 * 1000) % 24; long diffDays = diff / (24 * 60 * 60 * 1000); } catch (Exception e) {
e.printStackTrace();
}
حالا با گذاشتن شرط روی مقدار diff می توانید از عبارات مختلف استفاده کنید.
پاسخ به سوال
javad-PSH
11 سال پیش
+1
0
پاسخ به سوال
javad-PSH
11 سال پیش
+1
0
اوکی شد
String dateStart = date;
String dateStop = myjpdate;
Date d1 = null;
Date d2 = null;
Date jd1 = null;
Date jd2 = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat jpformat = new SimpleDateFormat("yyyy-MM-dd");
try {
d1 = format.parse(dateStart);
d2 = format.parse(dateStop);
jd1 =jpformat.parse(dateStart);
jd2 =jpformat.parse(dateStop);
//in milliseconds
long diff = d2.getTime() - d1.getTime();
long jpdiff = jd2.getTime() - jd1.getTime();
long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);
// 1s=1000 ,1m=60000,1h=3.6e+6 1day = 86400000
if(jpdiff==0 && diff<=60000){ myjpdiff="هم اکنون";}
if(jpdiff==0 && diff>60000 && diff<(59*60000)){ myjpdiff=diffMinutes+" دقیقه قبل";}
if(jpdiff==0 && diff>(60*60000) && diff<(24*59*60000)){ myjpdiff=diffHours+" ساعت قبل";}
if(jpdiff==86400000){ myjpdiff="دیروز";}
if(jpdiff>86400000){ myjpdiff=date;}
Log.d("TIME TEST",diff+" "+ jpdiff+" "+diffDays+"day "+diffHours+"hour "+diffMinutes+"");
} catch (Exception e) {
e.printStackTrace();
}
با تشکر
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .