从DateTimeField中提取年、月、日、小时和分钟的方法是什么?

8

我想了解如何从DateTimeField中提取年、月、日、小时和分钟。

我想要提取信息的DateTimeField名为'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
3个回答

12

从datetime文档中得知:

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

因此,您可以通过直接访问 redemption_date 的属性来提取所需的信息。


9
没有例子的话会让人感到困惑。 - Dave Babbitt

7
redemption_date.year
redemption_date.month
etc...

5

不要忘记,你的首要信息来源应该是Python本身。只需在导入datetime后在shell中输入:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接