【发布时间】:2017-03-01 01:57:16
【问题描述】:
打印日期如:
{{current.sys.sunrise | date:date}}
问题是它被存储在数据库中,例如:1476873429。 相信它是从 1970 年开始的毫秒数。 输出类似于:1970 年 1 月 18 日。
是否需要某种自定义过滤器才能将其格式化为当前时间?
【问题讨论】:
打印日期如:
{{current.sys.sunrise | date:date}}
问题是它被存储在数据库中,例如:1476873429。 相信它是从 1970 年开始的毫秒数。 输出类似于:1970 年 1 月 18 日。
是否需要某种自定义过滤器才能将其格式化为当前时间?
【问题讨论】:
你可以这样试试:
$filter('date')(date, format, timezone)
即
<span ng-non-bindable>{{1288323623006 | date:'medium'}}</span>:
<span>{{1288323623006 | date:'medium'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>:
<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}</span>:
<span>{{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:"MM/dd/yyyy 'at' h:mma"}}</span>:
<span>{{'1288323623006' | date:"MM/dd/yyyy 'at' h:mma"}}</span><br>
【讨论】:
您应该将时间戳乘以 1000,您存储的是秒,但 JavaScript Dates 需要毫秒作为参数:
console.log(new Date(1476873429)) // outputs Sun Jan 18 1970
console.log(new Date(1476873429 * 1000)) // outputs Wed Oct 19 2016
【讨论】: