参数:   sdate = 2013-07-16 16:14:47

  1. /**
  2. * 以友好的方式显示时间
  3. * @param sdate
  4. * @return
  5. */
  6. public static String friendly_time(String sdate) {
  7. Date time = toDate(sdate);
  8. if(time == null) {
  9. return "Unknown";
  10. }
  11. String ftime = "";
  12. Calendar cal = Calendar.getInstance();
  13.  
  14. //判断是否是同一天
  15. String curDate = dateFormater2.get().format(cal.getTime());
  16. String paramDate = dateFormater2.get().format(time);
  17. if(curDate.equals(paramDate)){
  18. int hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);
  19. if(hour == 0)
  20. ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分钟前";
  21. else
  22. ftime = hour+"小时前";
  23. return ftime;
  24. }
  25.  
  26. long lt = time.getTime()/86400000;
  27. long ct = cal.getTimeInMillis()/86400000;
  28. int days = (int)(ct - lt);
  29. if(days == 0){
  30. int hour = (int)((cal.getTimeInMillis() - time.getTime())/3600000);
  31. if(hour == 0)
  32. ftime = Math.max((cal.getTimeInMillis() - time.getTime()) / 60000,1)+"分钟前";
  33. else
  34. ftime = hour+"小时前";
  35. }
  36. else if(days == 1){
  37. ftime = "昨天";
  38. }
  39. else if(days == 2){
  40. ftime = "前天";
  41. }
  42. else if(days > 2 && days <= 10){
  43. ftime = days+"天前";
  44. }
  45. else if(days > 10){
  46. ftime = dateFormater2.get().format(time);
  47. }
  48. return ftime;
  49. }
  50.  
  51. /**
  52. * 将字符串转位日期类型
  53. * @param sdate
  54. * @return
  55. */
  56. public static Date toDate(String sdate) {
  57. try {
  58. return dateFormater.get().parse(sdate);
  59. } catch (ParseException e) {
  60. return null;
  61. }
  62. }
  63.  
  64. private final static ThreadLocal<SimpleDateFormat> dateFormater = new ThreadLocal<SimpleDateFormat>() {
  65. @Override
  66. protected SimpleDateFormat initialValue() {
  67. return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  68. }
  69. };
  70.  
  71. private final static ThreadLocal<SimpleDateFormat> dateFormater2 = new ThreadLocal<SimpleDateFormat>() {
  72. @Override
  73. protected SimpleDateFormat initialValue() {
  74. return new SimpleDateFormat("yyyy-MM-dd");
  75. }
  76. };

---恢复内容结束---

Android之计算两个时间的相差的更多相关文章

  1. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  2. PHP 计算两个时间戳之间相差的时间

    //功能:计算两个时间戳之间相差的日时分秒 //$begin_time 开始时间戳 //$end_time 结束时间戳 function timediff($begin_time,$end_time) ...

  3. 使用LocalDateTime计算两个时间的差

    LocalDateTime now = LocalDateTime.now();System.out.println("计算两个时间的差:");LocalDateTime end ...

  4. C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔

    C#计算两个时间年份月份差 DateTime dt1 = Convert.ToDateTime("2008-8-8"); DateTime dt2 = System.DateTim ...

  5. C#计算两个时间年份月份差

    C#计算两个时间年份月份差 https://blog.csdn.net/u011127019/article/details/79142612

  6. oracle计算两个时间的差值(XX天XX时XX分XX秒)

    在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在js里写function,也不想在java里去计算,干脆就在数据库做了一个函数来计算两个时间的差值.格式为XX天XX时XX分XX秒: 上 ...

  7. Python datetime库计算两个时间点之间的分钟(秒、天)数

    计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...

  8. Java计算两个时间的天数差与月数差 LocalDateTime

    /**  * 计算两个时间点的天数差  * @param dt1 第一个时间点  * @param dt2 第二个时间点  * @return int,即要计算的天数差  */ public stat ...

  9. 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss

    /** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...

随机推荐

  1. #define const typedef

    #define用法 1. 定义简单的常数:定义常量,便于修改 #define N 1000 2. 定义简单的函数:注意多使用括号 define可以像函数那样接受一些参数,如下: #define max ...

  2. USACO 5.1 Musical Themes(哈希+二分)

    Musical ThemesBrian Dean A musical melody is represented as a sequence of N (1 <= N <= 5000) n ...

  3. Jersey入门二:运行项目

    1.项目有了,在终端窗口进入项目的根目录(即 \simple-service ) 2.现在先测试运行下: mvn clean test  项目将会被编译,并且进行单元测试  上面可以看看到测试通过 ...

  4. Git配置用户名密码

    配置Git 在Linux下和windows下配置Git的方法差不多,只是在Linux下,可以在命令行里直接使用git config进行配置, 而在windows下则要先打开“Git Bash”,进入m ...

  5. 【Codeforces 498B】 B. Name That Tune (概率DP)

    B. Name That Tune time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  6. CF1042C Array Product 分类讨论+贪心

    考虑有无负数(负数的个数为奇视作“有”,否则为“无”)和有无零 无负数无零,全部合并即可 无负数有零,那么把零合并起来,删掉零 有负数无零,把最大的负数找出来,删掉,合并剩余的数 有负数有零,把零和最 ...

  7. BZOJ2673 [Wf2011]Chips Challenge 费用流 zkw费用流 网络流

    https://darkbzoj.cf/problem/2673 有一个芯片,芯片上有N*N(1≤N≤40)个插槽,可以在里面装零件. 有些插槽不能装零件,有些插槽必须装零件,剩下的插槽随意. 要求装 ...

  8. java知识回顾

    一.构造方法能不能被继承 当然不能,1.构造方法是类的唯一入口 2.构造方法与类名相同 3.子类构造方法中隐式的调用了父类的构造方法 二.值传递和引用传递.不变类和可变类.直接赋值和浅拷贝和深拷贝   ...

  9. Python—对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...

  10. Antd前端开发采坑记录

    背景 基于页面友好,界面整洁美观:基于Antd框架开发虾能平台 选型 基于Antd-admin工程架构,进行开发:基于Antd+React+Umj 采坑记录 按照Html方式天机onClick方法,每 ...