2012-06-27 14 views
5

Mi piacerebbe sapere come estrarre l'anno, il mese, il giorno, l'ora e i minuti da un DateTimeField?Come estrarre anno, mese, giorno, ora e minuti da un DateTimeField?

Il datimefield Voglio estrarre informazioni si chiama 'redemption_date' e il codice per il modello è questo:

from django.db import models 
from datetime import datetime, timedelta 
    class Code(models.Model): 
     id = models.AutoField(primary_key=True) 
     code_key = models.CharField(max_length=20,unique=True) 
     redemption_date = models.DateTimeField(null=True, blank=True) 
     user = models.ForeignKey(User, blank=True, null=True) 

     # ... 
     def is_expired(self): 
      expired_date = datetime.now() - timedelta(days=2) 
      my_redemtion_date = self.redemption_date 
      if self.redemption_date is None: 
       return False 
      if my_redemtion_date < expired_date: 
        return True 
      else: 
       return False 

Grazie in anticipo!

risposta

7

From the datetime documentation:

[...] 
class datetime.datetime 
A combination of a date and a time. Attributes: year, month, day, hour, 
minute, second, microsecond, and tzinfo. 
[...] 

in modo da poter estrarre le informazioni ricercato accedendo direttamente gli attributi 's il redemption_date.

+5

Questo è fonte di confusione senza esempi. –

3
redemption_date.year 
redemption_date.month 
etc... 
4

Non dimenticare che la tua prima fonte di informazioni dovrebbe essere Python stesso. Si può semplicemente digitare nella shell, dopo l'importazione datetime:

dir(datetime) 
# even more detail on 
help(datetime) 
Problemi correlati