1
Brutal 2012-12-18 18:16:46 +08:00
|
2
Brutal 2012-12-18 18:23:25 +08:00
|
3
unixtools 2012-12-18 19:14:18 +08:00
|
6
kenneth OP |
7
ipconfiger 2012-12-18 22:37:29 +08:00
写个filter
|
9
Brutal 2012-12-18 23:06:19 +08:00
@kenneth 要是要在 jinja2 中实现,将给你的代码写成 filter ,然后
{{comment.created_at | timesince }} 就可以了 |
11
Brutal 2012-12-18 23:17:10 +08:00
@kenneth 没研究过 tornado 和 jinja2 整合,
那你就把那个单独弄成函数 timesince(t) 然后传变量 timesince(comment.created_at) |
12
kenneth OP 我现在用的是{{locale.format_date(comment.created_at)}}
可是只能出现 December 18, 2012 at 11:31 pm 这个是绝对时间,并不是相对时间。 |
13
Rabbit52 2012-12-18 23:44:45 +08:00
我是用时间戳之差判断的,多少以内返回秒,然后返回分钟,往后推到最后直接返回具体时间
|
14
SErHo 2012-12-18 23:54:30 +08:00
http://timeago.yarp.com/ 试试这个?
|
15
kenneth OP @Brutal @Rabbit52 @unixtools @ergatea @ipconfiger @SErHo @livid
应该用的不是这个方法吧。我看文档 format_date(date, gmt_offset=0, relative=True, shorter=False, full_format=False) By default, we return a relative time (e.g., “2 minutes ago”). You can return an absolute date string with relative=False. 默认应该返回,起码也应该是2 minutes ago这种,为什么我的显示是 December 18, 2012 at 11:29 pm 也就是绝对时间,而不是相对时间呢?不知道错哪里了? |
16
killall 2012-12-19 00:04:34 +08:00
http://jinja.pocoo.org/docs/api/#custom-filters
写一个filter, 将你的时间作为参数放到自己写的filter里面计算将结果进行返回 filter里面就是将时间跟当前时间比对,计算出来多少天就可以了。 貌似jq也有直接渲染的插件。 |
17
kenneth OP 今天一早醒来,竟然变了 4 hours ago
|
18
Livid MOD 数据库里存 unix timestamp,然后在显示的时候,用当前的 unix timestamp 减去之前存的,然后差值就是中间经过的秒数。
|