Django后端中的时间和分钟格式化

2024-04-19 15:09:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django应用程序(1.8)中有一个方法。在

From date received Fromdate_start字段:2017-01-26 18:00:00+00:00我想要得到小时和分钟。但我的代码不起作用:

@property
def time(self):
    return '{%H:%M}'.format(self.date_start)

Tags: django方法代码fromself应用程序datereturn
2条回答

你会想要这样的东西。您的代码不能工作的原因*是您需要格式字符串来匹配日期的整个字符串表示。之后,您可以提取所需的特定日期/时间组件。在

在下面的代码中,我通过使用一个名为dateutil.parser的第三方库,放弃了使用任何格式字符串的需要,@asongtoruin在几小时前告诉我的。在

import dateutil.parser

class Foo(object):
    def __init__(self, date_start):
        self.date_start = date_start

    @property
    def time(self):
        date = dateutil.parser.parse(self.date_start)
        return '{:02}:{:02}'.format(date.hour, date.minute)


if __name__ == '__main__':
    foo = Foo('2017-01-26 18:00:00+00:00')
    print(foo.time)  # 18:00

*实际上,我假设self.date_start是一个纯字符串,因为您不清楚它是什么类型的数据,以及您遇到了什么问题。在

假设self.start_date生成一个datetime.datetime对象,您需要使用self.start_date.stftime("{%M:%S}")-示例:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("{%M:%S}")
'{31:52}'

相关问题 更多 >