如何从DateTimeField中提取年,月,日,小时和分钟?

ipe*_*sus 6 python django

我想知道如何从DateTimeField中提取年,月,日,小时和分钟?

我要提取信息的datimefield称为'redemption_date',模型的代码是这样的:

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
Run Code Online (Sandbox Code Playgroud)

提前致谢!

小智 8

从datetime文档:

[...]
class datetime.datetime
A combination of a date and a time. Attributes: year, month, day, hour, 
minute, second, microsecond, and tzinfo.
[...]
Run Code Online (Sandbox Code Playgroud)

因此,您可以通过直接访问redemption_date的属性来提取您想要的信息.

  • 没有例子,这是令人困惑的. (6认同)

Ned*_*der 7

redemption_date.year
redemption_date.month
etc...
Run Code Online (Sandbox Code Playgroud)


Pep*_*zza 5

不要忘记你的第一个信息来源应该是 python 本身。导入日期时间后,您只需在 shell 中输入:

dir(datetime)
# even more detail on
help(datetime)
Run Code Online (Sandbox Code Playgroud)