在Android上使用“一分钟前”或“一个小时前”之类的字符串获取时差

我的PHP中有此代码

function nicetime($date)
{
date_default_timezone_set("Asia/Taipei");
if(empty($date)) {
    return "No date provided";
}

$periods         = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths         = array("60","60","24","7","4.35","12","10");

$now             = time();
$unix_date         = strtotime($date);

   // check validity of date
if(empty($unix_date)) {    
    return "Bad date";
}

// is it future date or past date
if($now > $unix_date) {    
    $difference     = $now - $unix_date;
    $tense         = "ago";

} else {
    $difference     = $unix_date - $now;
    $tense         = "from now";
}

for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
    $difference /= $lengths[$j];
}

$difference = round($difference);

if($difference != 1) {
    $periods[$j].= "s";
}

return "$difference $periods[$j] {$tense}";
}

但是现在我想做同样的事情,但是这次是在我的Android中。即时通讯遇到了麻烦,因为字符串mytime来自SQL格式的数据库。

String mytime = pref.getString("announcementtime" + count, null);

mytime的输出:

2013-08-31 15:55:22

我想将其转换为:

23 minutes ago //something like this

请注意默认时区和DateTime = Now

Pumpkee

它全部在DateUtils类中。

CharSequence getRelativeTimeSpanString (long time, long now, long minResolution);

通过以下格式为您提供时间与现在之间的时差:

54秒前。

要使用日期字符串,您必须先将其转换为时间点时间:

String mytime = pref.getString("announcementtime" + count, null); 

// it comes out like this 2013-08-31 15:55:22 so adjust the date format
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse(str);
long epoch = date.getTime();

String timePassedString = getRelativeTimeSpanString (epoch, System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

给字符串加一分钟

来自分类Dev

c.beginPath不是一个函数?一分钟前

来自分类Dev

如何将一分钟的cron延迟一个小时

来自分类Dev

熊猫:时间序列数据:如何选择一个小时,一天或一分钟的行?

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

PHP日期到字符串的转换将为每个结果增加一分钟

来自分类Dev

MySQL查询以选择前一分钟的记录

来自分类Dev

检查post_date是否在一分钟前PHP

来自分类Dev

mocha - 在执行测试前等待一分钟

来自分类Dev

每隔一分钟通过Node.js发出一个请求

来自分类Dev

Highcharts tickinterval设置为一分钟仅显示一个日期

来自分类Dev

Java的挂起一分钟后,一个程序完成

来自分类Dev

Highcharts tickinterval设置为一分钟仅显示一个日期

来自分类Dev

Oracle查询以获取两个时间戳之间的每一分钟

来自分类Dev

为Spark SQL中的每一分钟差异创建一个新行

来自分类Dev

时间格式:如何编写一个可以运行一分钟的While循环?

来自分类Dev

c#尽管有线程时间,但每隔一分钟运行一个线程

来自分类Dev

PHP日期将字符串转换为每个结果都需要花费一分钟

来自分类Dev

优化:如何从一周的每一分钟的时间获取TimeId?

来自分类Dev

从最后一分钟开始活动(PHP)

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

一分钟。字典中的值

来自分类Dev

一分钟后无法上网

来自分类Dev

运行Cron不到一分钟-Laravel

来自分类Dev

WordPress网站加载将近一分钟

来自分类Dev

Ubuntu 需要一分钟才能启动

来自分类Dev

每隔一分钟执行一次功能android / kotlin

Related 相关文章

  1. 1

    给字符串加一分钟

  2. 2

    c.beginPath不是一个函数?一分钟前

  3. 3

    如何将一分钟的cron延迟一个小时

  4. 4

    熊猫:时间序列数据:如何选择一个小时,一天或一分钟的行?

  5. 5

    每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

  6. 6

    每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

  7. 7

    PHP日期到字符串的转换将为每个结果增加一分钟

  8. 8

    MySQL查询以选择前一分钟的记录

  9. 9

    检查post_date是否在一分钟前PHP

  10. 10

    mocha - 在执行测试前等待一分钟

  11. 11

    每隔一分钟通过Node.js发出一个请求

  12. 12

    Highcharts tickinterval设置为一分钟仅显示一个日期

  13. 13

    Java的挂起一分钟后,一个程序完成

  14. 14

    Highcharts tickinterval设置为一分钟仅显示一个日期

  15. 15

    Oracle查询以获取两个时间戳之间的每一分钟

  16. 16

    为Spark SQL中的每一分钟差异创建一个新行

  17. 17

    时间格式:如何编写一个可以运行一分钟的While循环?

  18. 18

    c#尽管有线程时间,但每隔一分钟运行一个线程

  19. 19

    PHP日期将字符串转换为每个结果都需要花费一分钟

  20. 20

    优化:如何从一周的每一分钟的时间获取TimeId?

  21. 21

    从最后一分钟开始活动(PHP)

  22. 22

    DateTime.TryParseExact增加一分钟?

  23. 23

    DateTime.TryParseExact增加一分钟?

  24. 24

    一分钟。字典中的值

  25. 25

    一分钟后无法上网

  26. 26

    运行Cron不到一分钟-Laravel

  27. 27

    WordPress网站加载将近一分钟

  28. 28

    Ubuntu 需要一分钟才能启动

  29. 29

    每隔一分钟执行一次功能android / kotlin

热门标签

归档