在服务器端DateTime被保存为每个UTC(2016-03-24 17:45:12),并且对于客户端它总是返回DateTime作为UTC。世界上有不同的用户。
用i18n和l10n做日期时间显示管理的最好方法是什么?此外,我希望它应该显示日期时间为每个用户的时区。
有很多来自世界各地的提要,比如StackOverflow Posts。从服务器端总是传入UTC时区的DateTime。在客户端,日期时间可以如下两种格式显示:
- 按时区显示发布日期时间
- 显示时间以前的设施,如(刚才,一分钟前,一小时前,一天前,一个月前,一年前,2年前,3年前等)
这种类型的日期时间在整个系统中多次显示。那么用angular最好的方法是用更少的代码来管理它呢?
如何/何时/为什么使用过滤器,指令,表达式?
(注:I am new to angular.)
更新:更多的解释:
Post对象可以是单页或对象数组。并且post date时间将像UTC: (2016-03-24 17:45:12)
所以有两种情况可以显示为:
- 5 Months Ago
- 2016-03-24 11:15 PM (IST时间)
可以信任用户的浏览器。如果要显示日期,可以使用myDate.toLocaleString()
。它将使用用户的区域设置显示日期。
对于"time-ago"格式,你可以使用AngularJS版本的moment.js: https://github.com/urish/angular-moment#am-time-ago-directive