2017-08-03 154 views
0

如何显示我的列表视图与下列日期格式,如果它的今天日期只显示时间,昨天,星期二,星期日,星期日,星期五,星期四,星期三,星期三和星期五开始的时间,星期四,星期二......等等。我如何重复我的日期格式显示在今天,昨天,星期二,星期一,星期日,太阳,星期三,...星期三,

我试着用这个代码,但我没有得到

if(Constant.hours-Constant.hours1 <= 23){ 
        holder.txtTime.setText(newDateString); 
       }else if(Constant.hours-Constant.hours1 >= 23 && Constant.hours-Constant.hours1 <= 47){ 
        holder.txtTime.setText("Yesterday"); 
       }else if(Constant.days >= 2 && Constant.days<=2){ 
        holder.txtTime.setText(Constant.strLong+" days ago"); 
       } 
+0

你究竟想要什么?你想在几天前显示类型信息? –

+0

根据应用程序的需求,我需要这样展示。 –

+0

使用https://developer.android.com/reference/android/text/format/DateUtils.html#getRelativeTimeSpanString(long,long,long) –

回答

0

试试这个... // 假设您的日期时间格式是可变newDateString的“2017年12月8日”,那么日期格式将像SimpleDateFormat formatter = SimpleDateFormat .forPattern(“dd-MM-yyyy”); //

String newDateString="08/02/2017 18:41:11"; 
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); 
     //SimpleDateFormat formatter = new SimpleDateFormat("your farmat here"); 
       Date yourDate= null; 
       Date current= null; 
       Calendar cal = Calendar.getInstance(); 


    try { 
      yourDate= formatter .parse(newDateString);//newDateString is your variable 
        current= formatter .parse(formatter.format(cal.getTime())); 

       } catch (java.text.ParseException e) { 
        e.printStackTrace(); 
       } 

       int daysDiff= (int) ((yourDate.getTime() - current.getTime())/ (1000 * 60 * 60 * 24)); 

       if(daysDiff< 1){ 
           holder.txtTime.setText(newDateString); 
          }else if(daysDiff== 1){ 
           holder.txtTime.setText("Yesterday"); 
          }else if(daysDiff> 1){ 
           holder.txtTime.setText(daysDiff+" days ago"); 
          } 
          }else if(daysDiff<0){ 
           holder.txtTime.setText(daysDiff+" days before"); 
          } 
+0

08/02/2017 18:41:11这是我的日期格式我需要显示结果 –

+0

String newDateString = 08/02/2017 18:41:11; SimpleDateFormat formatter = new SimpleDateFormat(“dd/MM/yyyy hh:mm:ss”); 使用这个,你将得到你的答案与提到的解决方案只是做了这个变化 –

+0

newDateString在这个我需要发送? –

相关问题