在Ruby on Rails中,有一个功能允许你采取任何日期并打印出"很久以前"的样子.
例如:
8 minutes ago
8 hours ago
8 days ago
8 months ago
8 years ago
Run Code Online (Sandbox Code Playgroud)
在Java中有一种简单的方法吗?
我正在使用Java 的Joda-Time库.我在尝试将Period对象转换为"x days,x hours,x minutes"格式的字符串时遇到了一些困难.
这些Period对象首先通过向它们添加一定的秒数来创建(它们按秒序列化为XML,然后从它们重新创建).如果我只是在其中使用getHours()等方法,那么我得到的只是零,并且使用getSeconds 的总秒数.
如何让Joda计算各个领域的秒数,如天,小时等......?
我正在Android应用中创建一个功能,以获取任意日期(过去,现在或将来)并找到相对于现在的差异.
我now和due变量都是longs,这是我的代码:
long now = System.currentTimeMillis();
long due = now + 864000;
Log.d("Time in 1 day", DateUtils.getRelativeTimeSpanString(due,now, DateUtils.DAY_IN_MILLIS));
Run Code Online (Sandbox Code Playgroud)
我所要的输出是这样的yesterday,today,in 4 days或19/12/2012.但是,当前的输出返回in 0 days...
我不希望时间出现在这些日期字符串上.
我做错了什么,是在Android上格式化日期的最佳方法?
像现代网页(包括StackOverflow ;-)那样格式化时间的最佳方法是什么,即使用简单的相关描述,如:
我正在寻找一个可以处理这个以及多个语言环境的库.我可以提供短语(英语中的"X秒",德语中的"X Sekunden"等).
可能重复:
计算Java中日期的差异如何在Java中
减去日期?
我正在从字符串解析两个日期,如下所示:
Oct 15, 2012 1:07:13 PM
Oct 23, 2012 03:43:34 PM
Run Code Online (Sandbox Code Playgroud)
我需要做的是找到这两个日期之间的区别,例如:
Oct 23, 2012 03:43:34 PM - Oct 15, 2012 1:07:13 PM
Run Code Online (Sandbox Code Playgroud)
= 8天2小时36分21秒
^这是我需要得到的两个日期/时间
我相信我需要解析格式并将其转换为另一种格式,然后减去它们之间的差异并进行数学运算以获得两者之间的天/小时/分钟/秒
如果我不知道哪个对象早于另一个,那么判断一个joda时间DateTime对象是否在另一个时间的4小时内的最佳方法是什么?
如果我知道对象A出现在对象B之前,那么Joda Time Duration对象似乎可以很好地完成这项工作,但是由于持久性已签名,如果我不知道顺序,它似乎没有做我想要的.
似乎有一种简单的方法可以做到这一点,但我还没有找到它.