仿iphone中短信以及通话记录的时间显示

 更新时间:2013年06月19日 10:03:50   作者:  
本篇文章是对仿iphone中短信以及通话记录的时间显示进行了详细的分析介绍,需要的朋友参考下
废话不多说,上代码
复制代码 代码如下:

public String getRelativeTimeSpanStringForIphone(long time,long now){
  SimpleDateFormat formatter = null;
  Resources res = mContext.getResources();
  formatter = new SimpleDateFormat("yy-MM-dd");
  String yearMonthDay = formatter.format(time);
  if(time>now){
   return yearMonthDay;
  }
  formatter = new SimpleDateFormat("E");
  String dayOfWeek = formatter.format(time);

  formatter = new SimpleDateFormat("kk:mm");
  String hourMinuOfTime = formatter.format(time);

  formatter = new SimpleDateFormat("kk:mm:ss");

  String hourMinuSecOfNow = formatter.format(now);

  long millisecOfNow = getMillisecOfNow(hourMinuSecOfNow);

  if((now-millisecOfNow<time)||(now-millisecOfNow==time)){
   String timeOfCurrentDay = hourMinuOfTime;
   String[] hourAndminute = timeOfCurrentDay.split(":");
   int hour =Integer.parseInt(hourAndminute[0]);
   ContentResolver cv = mContext.getContentResolver();
            String strTimeFormat = android.provider.Settings.System.getString(cv,android.provider.Settings.System.TIME_12_24);
            if(strTimeFormat!=null){
                if(strTimeFormat.equals("12")){
                    if(hour>12){
                    return  res.getString(R.string.pm)+hour%12+":"+hourAndminute[1];
                    }else{
                        return  res.getString(R.string.am)+hour%12+":"+hourAndminute[1];
                    }
                }else{
                    return hour%24+":"+hourAndminute[1];
                }
            }else{
                return hour%24+":"+hourAndminute[1];
            }
  }else{   

   if(now-518400000l-millisecOfNow>time){
    return yearMonthDay;
   }else{
    if(now-millisecOfNow-86400000l<time){
     //End:modified by sunjinbiao on 20120823 for bug[540] 
     return res.getString(R.string.yesterday);

    }else{      
     return dayOfWeek;
    }
   }
  }
 }

相关文章

  • Android10 启动Zygote源码解析

    Android10 启动Zygote源码解析

    这篇文章主要为大家介绍了Android 10 启动分析之Zygote篇,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android 修改系统关机动画的实现

    Android 修改系统关机动画的实现

    这篇文章主要介绍了Android 修改系统关机动画的实现的相关资料,需要的朋友可以参考下
    2016-10-10
  • 如何利用Flutter实现酷狗流畅Tabbar效果

    如何利用Flutter实现酷狗流畅Tabbar效果

    这篇文章主要给大家介绍了关于如何利用Flutter实现酷狗流畅Tabbar效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • Android使用ExpandableListView实现三层嵌套折叠菜单

    Android使用ExpandableListView实现三层嵌套折叠菜单

    这篇文章主要介绍了Android使用ExpandableListView实现三层嵌套折叠菜单,对布局感兴趣的同学可以参考下
    2021-04-04
  • Android实现动态曲线绘制

    Android实现动态曲线绘制

    这篇文章主要为大家详细介绍了Android实现动态曲线绘制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • android fm单体声和立体声的切换示例代码

    android fm单体声和立体声的切换示例代码

    切换是需要在一定的条件下满足才会进行切换,切换的条件和电台的信号强度RSSI、信号稳定性CQI等等都有关系
    2013-06-06
  • Android 8.0中一些坑以及对应的解决方法

    Android 8.0中一些坑以及对应的解决方法

    这篇文章主要给大家介绍了关于Android 8.0中一些坑以及对应的解决方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Glide实现加载图片显示进度条效果

    Glide实现加载图片显示进度条效果

    Glide作为安卓开发常用的图片加载库,有许多实用而且强大的功能,那么,下面这篇文章主要给大家介绍了利用Glide实现加载图片显示进度条效果的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下来一起看看吧。
    2017-05-05
  • Android使用Jni实现压力锅数据检测效果示例

    Android使用Jni实现压力锅数据检测效果示例

    这篇文章主要介绍了Android使用Jni实现压力锅数据检测效果,涉及Android结合Jni实现进度条模拟压力锅数据监测效果的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • android自定义倒计时控件示例

    android自定义倒计时控件示例

    这篇文章主要介绍了Android秒杀倒计时自定义TextView示例,大家参考使用吧
    2014-01-01

最新评论