2014-04-24 2 views
2

그래서 날짜에서 제거해야합니다. 그래서 날짜, 연도 및 월만 가져옵니다.django에서 시간 지우기 Django에서 DateTime

"2014-04-17T00:00:00" 

나는 다른 기회를 보았다하지만

class Inventory(models.Model): 
manufacturer = models.CharField(max_length=255) 
model  = models.CharField(max_length=255) 
description = models.TextField(max_length=255) 
count  = models.IntegerField(max_length= 255, default=1) 
location  = models.ForeignKey('Location', null=True, blank=True) 
cover  = models.FileField(upload_to = 'static/images/', default = 'static/images/no-image.png') 
created  = models.DateTimeField(auto_now_add=True) 
barcode  = models.CharField(max_length=255) 
assigned  = models.ForeignKey(User, blank=True, null=True) 
checked  = models.BooleanField(default=False) 
modified  = models.DateTimeField(default=datetime.datetime.now) 
tags   = TaggableManager(through=None, blank=True) 

def __unicode__(self): 
    return '%s' % date(self.modified, "n/j/Y") 

def format_date(obj): 
    return obj.modified.strftime('%d %b %Y %H:%M') 
    format_date.short_description = 'Modified' 
+2

직접 귀하의 질문에 대답하지, 그런데 왜 당신은 그냥'하여 DateField를 사용하지 것이다 '? 또한'modified = models.DateTimeField (default = datetime.datetime.now)'대신'auto_now = True'를 사용할 수 있습니다. 변경 될 때마다 필드를 업데이트 할 것입니다. 'datetime.datetime.now'는 나중에 문제를 일으킬 수있는 TZ 비 인식 타임 스탬프입니다. – favoretti

+1

'obj.modified.date(). isoformat()' –

답변

1

이 작품은 나를 위해.

def get_date(self): 
    return self.modified.date() 
+0

또는'{{inventory_item.modified.date}} '가있는 템플릿에서 수행 할 수 있습니다. –

1

당신은 dateutil.parser와의 strftime을 구문 분석 할 수 있습니다 작동하지 않았다 :

import dateutil.parser 
datetime_date = dateutil.parser.parse(strf_date) 

을 그리고 그와의 strftime 날짜를 얻을 필요한 datetime의 일부. 귀하의 경우, 년, 월, 일 년 :

def get_date(dt): 
    """ 
    Remove the time from datetime field. 
    """ 
    return dt.strftime("%Y-%M-%d") 

@property 
def modified_date(self): 
    return self.get_date(self.modified) 

당신은 대신

If you want in django templatetag date formatting click here DateTimeField

으로하여 DateField를 사용할 수 있습니다

date_only = datetime_date.strftime("%Y-%M-%d") 
+0

이 하나가 남았거나'modified = models.DateTimeField (default = datetime.datetime.now) '입니다. – Erick

+0

귀하의 의견을 이해할 수 없습니다. Sry – Laurent

0

이 코드는 문제를 해결할 것입니다.

0

단지와modified = models.DateTimeField(default=datetime.datetime.now)을 대체 수정 = models.DateField (기본값 = datetime.date.now)

관련 문제