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将字符串转换为本地日期时间到UTC日期时间

python模块datetime将字符串转换为日期

python 将字符串转换为日期时间

如何将 python 日期时间转换为具有可读格式日期的字符串?

将 JSON 时间戳字符串转换为 pandas 数据框中的 python 日期

Python:将字符串转换为日期时间,计算时差,选择时差超过3天的行