بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

زمان ارسال مانند برنامه دیوار

مدیریت گفتگو
javad-PSH 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

دوستان کسی میدونه چطور میشه کد زمان ارسال یک پست در برنامه ، مانند برنامه دیوار نوشت؟

برای مثال وقتی داخل برنامه پست میذاری تو لیست ویو بنویسه " دقایقی قبل" یا  " هم اکنون" و ...

نظرات

javad-PSH 11 سال پیش
کسی نیست کمک کنه؟
AhmadVB 11 سال پیش
منظورتون این هست که می نویسه چند دقیقه پیش یا چند ساعت پیش ؟
javad-PSH 11 سال پیش
کلا منظورم تبدیل تاریخ میلادی به شمسی و بعدش کسر کردن اون عدد از تاریخ فعلیه که احتمالا با if نوشته شده

پاسخ‌ها 3

AhmadVB 11 سال پیش

همونطور که خودتون گفتید با چند تا 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 سال پیش

نظرات

javad-PSH 11 سال پیش

اوکی شد

 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();
						}

 با تشکر 

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .