android 将时间戳转为代表"距现在多久之前"的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 将时间戳转为代表"距现在多久之前"的字符串相关的知识,希望对你有一定的参考价值。

public static final void testDate() 
   //比如现在时间:2016/5/30 11:45:5
   Date now = new Date(1464579905000l);
   //上次时间: 2016/5/28 11:44:15
   Date old = new Date(1464407055000l);
   System.out.println(String.format("距现在%s之前", testPassedTime(now.getTime(), old.getTime())));

private static final long MINUTE_SECONDS = 60; //1分钟多少秒
private static final long HOUR_SECONDS = MINUTE_SECONDS*60;
private static final long DAY_SECONDS = HOUR_SECONDS*24;
private static final long YEAR_SECONDS = DAY_SECONDS*365;

public static String testPassedTime(long nowMilliseconds, long oldMilliseconds) 
   long passed = (nowMilliseconds-oldMilliseconds) /1000;//转为秒
   if (passed > YEAR_SECONDS) 
       return passed/YEAR_SECONDS+"年";
    else if (passed > DAY_SECONDS) 
       return passed/DAY_SECONDS+"天";
    else if (passed > HOUR_SECONDS) 
       return passed/HOUR_SECONDS+"小时";
    else if (passed > MINUTE_SECONDS) 
       return passed/MINUTE_SECONDS+"分钟";
    else 
       return passed+"秒";
   


参考技术A 跟当前时间对比计算出来。

Java 如何获得 Unix 时间戳

使用下面的代码获得时间戳。long epoch = System.currentTimeMillis()/1000;

时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,所以可以将当前毫秒时间转换成秒级时间就可以了:
System.currentTimeMillis()/1000L就可以了
参考技术A new Time(); 参考技术B String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(UnixTimestamp * 1000));

以上是关于android 将时间戳转为代表"距现在多久之前"的字符串的主要内容,如果未能解决你的问题,请参考以下文章

time datetime

php 怎么将指定日期转换为时间戳

jquery 在时间上戳加一年。例如现在时间戳为 1472711659,在此基础上加上一年!谢谢!

Java 如何获得 Unix 时间戳

php 获取自定义一个时间戳 echo 十分钟后的时间戳

Java 存储时间戳的几种方式