我有一个函数,它使用从DB查询返回的日期时间字符串。现在,查询返回一个datetime对象。
我正在寻找的是创建我的日期时间字符串的首选方法。我还没有做任何性能分析,只是从人们那里寻找以前的经验。
发布于 2019-06-25 04:53:39
那得看情况。
通常,数据库只是数据的存储库;它不是格式化引擎。这意味着您应该期望得到像"2019-06-24 13:47:24"
这样的字符串或像1561409293
这样的数字,然后从那里处理它们。
但是,在SELECT
语句中简单地调用DATE_FORMAT()
通常更简单。当SELECT
无需进一步操作即可生成整个“报告”时,这一点尤其方便。
另一种方式来决定...哪种方法需要较少的击键次数?或者有最小的编程错误的机会?或者..。
您说“使用从DB查询返回的日期时间字符串”--但是它将如何处理它呢?如果它将以多种方式操作它,那么客户端“对象”听起来是更好的方法。如果只显示日期时间,那么DATE_FORMAT()
可能更好。
没有明显的性能差异。
发布于 2019-06-25 02:30:10
如果你有一个datetime
对象,可以将它作为一个datetime
对象保存在你的代码中,从中提取你需要的任何信息。然后,当您确实需要实际的字符串时,使用strftime
以您想要的方式格式化它。
>>> from datetime import datetime
>>> t = datetime.now()
>>> t
datetime.datetime(2019, 6, 24, 14, 23, 45, 835379)
>>> print(t.month)
6
>>> print(t.second)
45
>>> as_string = t.strftime("%B %d, %Y")
>>> print(as_string)
June 24, 2019
>>> as_another_string = t.strftime("%Y-%h-%d %H:%m")
>>> print(as_another_string)
2019-Jun-24 14:06
This page显示了您可以调用的各种格式代码,以便提取要在字符串中显示的任何日期/时间信息:
https://stackoverflow.com/questions/56741998
复制相似问题