2016-10-14 7 views
0

에포크 시간을 '사람이 읽을 수있는 시간'으로 변환하는 가벼운 장고 템플릿 태그가 있습니까 (naturaltime에서와 동일).에포크 시간을 사람이 읽을 수있는 시간으로 변환하는 장고 템플릿 태그

나는 datetime.fromtimestamp(value)을 반환하는 사용자 정의 템플릿 태그를 시도했는데, 이것은 월일 연도 시간 오전/오후로 타임 스탬프를 표시합니다. 나는 '%(time)s ago' % {'time': timesince(value).split(', ')[0]} (timesince 사용)을 반환하는 다른 하나를 시도했지만 timesince는 시간으로 간주 할 수없는 것처럼 보입니다.

답변

0

나는 다른 무언가를가는 끝났다.

0

템플릿에 도달하기 전에해야 할 일이 있습니다. 타임 스탬프를 전달하기 전에 타임 스탬프를 datetime 객체로 변환하고 그대로 사용하십시오.

는하지만 당신이 주장하는 경우 :

{{ your_time_stamp | parsetimestamp | timeuntil }} 

테스트하지 그러나 당신은 생각을해야합니다

from datetime import datetime 
from django import template 

register = template.Library() 

@register.filter("parsetimestamp") 
def timestamp(value): 
    try: 
     return datetime.fromtimestamp(value) 
    except AttributeError, e: 
     catch errors.. 

는 템플릿에 체인을 사용합니다. 이 자연스럽게 days, weeks, months 심지어 years에 대한 수용하도록 확장 할 수

from django.template.defaulttags import register 
import time 

@register.filter(name='human_time') 
def human_time(value): 
    try: 
     diff = time.time() - float(value) 
    except: 
     return '' 
    m, s = divmod(diff, 60) 
    h, m = divmod(m, 60) 
    if h: 
     return "%s hours ago" % int(h) 
    elif m: 
     return "%s minutes ago" % int(m) 
    elif s: 
     return "%s seconds ago" % int(s) 

: 내 템플릿에 체인 및 피한다 그 -

관련 문제