2024-04-19 15:09:08 发布
网友
我在django应用程序(1.8)中有一个方法。在
From date received Fromdate_start字段:2017-01-26 18:00:00+00:00我想要得到小时和分钟。但我的代码不起作用:
2017-01-26 18:00:00+00:00
@property def time(self): return '{%H:%M}'.format(self.date_start)
你会想要这样的东西。您的代码不能工作的原因*是您需要格式字符串来匹配日期的整个字符串表示。之后,您可以提取所需的特定日期/时间组件。在
在下面的代码中,我通过使用一个名为dateutil.parser的第三方库,放弃了使用任何格式字符串的需要,@asongtoruin在几小时前告诉我的。在
dateutil.parser
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.date_start
假设self.start_date生成一个datetime.datetime对象,您需要使用self.start_date.stftime("{%M:%S}")-示例:
self.start_date
datetime.datetime
self.start_date.stftime("{%M:%S}")
>>> import datetime >>> now = datetime.datetime.now() >>> now.strftime("{%M:%S}") '{31:52}'
你会想要这样的东西。您的代码不能工作的原因*是您需要格式字符串来匹配日期的整个字符串表示。之后,您可以提取所需的特定日期/时间组件。在
在下面的代码中,我通过使用一个名为
dateutil.parser
的第三方库,放弃了使用任何格式字符串的需要,@asongtoruin在几小时前告诉我的。在*实际上,我假设
self.date_start
是一个纯字符串,因为您不清楚它是什么类型的数据,以及您遇到了什么问题。在假设
self.start_date
生成一个datetime.datetime
对象,您需要使用self.start_date.stftime("{%M:%S}")
-示例:相关问题 更多 >
编程相关推荐