Python将日期时间字符串转换为日期
Posted
技术标签:
【中文标题】Python将日期时间字符串转换为日期【英文标题】:Python convert datetime string to date 【发布时间】:2015-03-24 14:36:39 【问题描述】:我有这个字符串(它来自一个变量。例如,st_date)
'2015-01-28 03:00:00'
我想解析日期并转换为 type:date
datetime.date 2015-01-28
从中......我怎么能这样做?
【问题讨论】:
文档...docs.python.org/2/library/… How to parse ISO formatted date in python?的可能重复 没有。我的问题是关于在同一条线上解析和转换两者。我没有得到正确的答案..但我从这里得到了它..谢谢.. 【参考方案1】:import datetime
import time
date_str_obj = '2015-01-28 03:00:00'
date_date_obj = datetime.datetime.strptime(date_str_obj, '%Y-%m-%d %I:%M:%f')
【讨论】:
【参考方案2】:使用datetime.strptime(),它有两个参数,你的日期作为一个字符串和你想要的格式。
from datetime import datetime
my_date = datetime.strptime('2015-01-28 03:00:00', '%Y-%m-%d %H:%M:%S')
my_date.year
>> 2015
【讨论】:
这会创建一个datetime
对象,而不是date
对象。调用 datetime.date(my_date)
可以解决这个问题。【参考方案3】:
只需阅读文档https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime
from datetime import datetime
a = '2015-01-28 03:00:00'
print datetime.strptime(a[:10], '%Y-%m-%d')
【讨论】:
【参考方案4】:使用 strptime() 函数。
datetime.datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %H:%M:%S') #24-hour clock
datetime.datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %I:%M:%S') #12-hour clock
【讨论】:
【参考方案5】:使用dateutil:
import dateutil.parser
dateutil.parser.parse('2015-01-28 03:00:00').date()
>>datetime.date(2015, 1, 28)
【讨论】:
不必要 - 格式已知,不需要外部模块。而且它没有提供所需的对象类型。 使用额外的库来解析这种简单的已知格式是一个真正的开销。尤其是当标准库执行此操作时。【参考方案6】:您可以使用easy_date 来简化:
import date_converter
my_date = date_converter.string_to_date('2015-01-28 03:00:00', '%Y-%m-%d %H:%M:%S')
【讨论】:
【参考方案7】:from datetime import datetime
date = datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %H:%M:%S')
date.date()
【讨论】:
以上是关于Python将日期时间字符串转换为日期的主要内容,如果未能解决你的问题,请参考以下文章
如何将 python 日期时间转换为具有可读格式日期的字符串?