我今天注意到,在我的WP7上的Twitter应用程序中,显示了twits并列出了他们的时间。但是,这是我真正喜欢的:
如果在最后几秒内制作了一个twit,则会显示列表框项目,例如。 5秒前 如果它是在最后几分钟内制成的,那么它就会显示出来。 23分钟前 同样的方式,今天显示这个词 如果是在任何先前的日期,它会显示实际的日期时间。
这种格式适用于任何平台(Outlook做类似的事情)。有没有人写过他们可以共享的扩展方法或帮助函数来实现这种输出?
谢谢, PRATIK
答案 0 :(得分:1)
Scott Mitchell前几天在www.asp.net的主页上刊登了一篇文章,内容涉及格式化日期。
这篇文章是你可以使用的各种格式化字符串的标准,但他讨论了他创建的一个自定义方法来解决这种称为.ToRelativeDateString()
的问题。该实现包含在文章附带的可下载示例中:
答案 1 :(得分:0)
我不确定您是否使用java,但PrettyTime是您的库。 您也可以使用joda-time或.net等价noda-time在一定程度上实现此目的。以下是例如使用joda-time打印
周二下午2点
DateTime dt = new DateTime(2005, 9, 20, 14, 30, 0, 0);
DateTimeFormatter f = new DateTimeFormatterBuilder()
.appendLiteral(“On “)
.appendDayOfWeekText()
.appendLiteral(“ at “)
.appendClockhourOfHalfday(1)
.appendHalfdayOfDayText()
.toFormatter();
String str = f.print(dt);
// Output: On Tuesday at 2PM
答案 2 :(得分:0)
我实际上为此编写了一组类,它与.NET中的国际化集成在一起。由于它与文化联系在一起,因此您可以轻松地拥有不同的变化。例如“10秒前”,如果你是英国人,或“10 sekunder sedan”,如果你有瑞典文化。就这么简单。
您可以在以下网址下载: