给定一个特定DateTime值,我如何显示相对时间,如:
我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.
对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:
>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud) datetime android android-gradle-plugin threetenbp threetenabp
我需要计算从特定日期到现在所用的时间,并以与StackOverflow问题相同的格式显示它,即:
15s ago
2min ago
2hours ago
2days ago
25th Dec 08
Run Code Online (Sandbox Code Playgroud)
您知道如何使用Java Joda-Time库实现它吗?是否有一个已经实现它的辅助方法,或者我应该自己编写算法?
像现代网页(包括StackOverflow ;-)那样格式化时间的最佳方法是什么,即使用简单的相关描述,如:
我正在寻找一个可以处理这个以及多个语言环境的库.我可以提供短语(英语中的"X秒",德语中的"X Sekunden"等).
如何解析格式为X分钟/小时/天/周/月/年前的日期.以下是一些示例来说明我所指的内容:
我不认为使用默认的Java库是很容易的.我对吗?
我的意思是功能,当给定时间返回最小时间单位之前.例如
Java问题简介:
我有这个代码:
// edited above
} else if ((now >= (1000 * 60 * 60 * 24) && (now < (1000 * 60 * 60 * 48)))) {
now = (now / (1000 * 60 * 60 * 24));
time = String.valueOf(now + " day ago");
} else if ((now >= (1000 * 60 * 60 * 48) && (now < (1000 * 60 * 60 * 24 * 30)))) {
now = (now / (1000 * 60 * 60 …Run Code Online (Sandbox Code Playgroud)