我知道有各种类似的帖子。 并且充分意识到strptimestrftime函数。

我的问题有点不同。

python中最简单的方法是将字符串隐式地转换为日期/日期对象。

或者显式地,是一个接受表示日期或日期对象的字符串的函数。

与SQL date_object = 'string_of_date'类似

我猜是

cast_date=lambda x:x if type(x)=='datetime' else strptime(x,'%%%')#dosen't really work
cast_date=lambda x:strptime(str(x),'%%%') #edit

或类似的将工作,但我宁愿使用原生的东西,如果存在。

谢谢

===============>>#1 票数:4

您可能想要查看dateutil模块。 它有一个很棒的日期时间解析器。

>>> from dateutil.parser import parse
>>> print parse("1:00PM")
2011-12-11 13:00:00
>>> print parse("1/1/2008")
2008-01-01 00:00:00
>>> print type(parse("1/1/2008"))
<type 'datetime.datetime'>

将它与类型检查结合起来,如下所示:

my_datetime = parse(item) if isinstance(item, str) or isinstance(item, unicode) else item

===============>>#2 票数:0

Python中没有本机日期时间强制转换。 你的小助手功能看起来像一个合理的方法。 请考虑使用isinstance而不是精确类型检查(以允许datetime的子类)。

  ask by sinaiy translate from so

未解决问题?本站智能推荐:

3回复

将字符串转换为日期类型python [duplicate]

这个问题在这里已有答案: Python日期字符串到日期对象 7答案 如何在python中将字符串转换为日期对象? 字符串将是:“30-01-12”(对应格式:“%d-%m-%y”) 我不想要datetime.datetime对象,而是datetime.d
1回复

将日期时间字符串(2016年7月25日下午11:51:32)转换为python中的另一个字符串(YYYYMMDD)的最有效方法

我有一个表示日期时间的字符串,例如:“Jul 19,2016 4:45:57 PM” 我想将其转换为以下字符串:“20160725” 在python中执行此操作的最有效方法是什么? 谢谢 :) 注意:我需要这样做,以便稍后将此日期输入到csv文件中,该文件将用于显示折线图
3回复

将相对日期字符串转换为绝对日期

作为输入,我有一个日期字符串,可以采用三种通用格式: a)2011年1月6日b)4天前c)12小时前 我希望脚本能够识别格式并使用参数调用适当的函数。 那么如果一个然后convert_full_string(“2011年1月6日”) 如果b然后convert_days(4
1回复

使用Pandas将字符串格式化为datetime - 使用指令时出现问题

我有一个字符串是全年,然后是一年中的ISO周(所以有些年份有53周,因为一周的计数从一年的第一个完整周开始)。 我想使用pandas.to_datetime()将其转换为datetime对象。 所以我这样做: 它返回: 这是不对的。 或者,如果我尝试: 它告诉我%V
3回复

Python:通过简单的字符串获取最新日期时间

每次打印字符串时如何获取最新时间: 我用下面的代码: 当我运行此代码时-时间t1显示恒定的时间值: 有没有一种方法可以自动更新“ t1”的值,换句话说,每次运行代码时如何更新时间? 例如: 先感谢您。 (我不过是编程和python的绝对新手)。
2回复

在Python中将日期序列化为url安全字符串

我想将python中的Date序列化为URL Safe字符串。 我记得在C ++中,我常常只取整数表示自1970年1月1日以来的秒数(或类似的东西)。 然后我可以把它变成一个Base64 url​​-safe字符串。 C ++日期旨在能够轻松地传递这些整数。 理想情况下,在Pyt
1回复

仅使用字符串format()方法的Python格式日期

仅使用.format方法在python中格式化日期的快速方法是什么? 我知道有一种方法可以不使用strftime 。 我需要更优雅的方法。
2回复

检查字符串是否有日期,任何格式

如何检查字符串是否可以解析为日期? 1990年1月19日 1990年1月19日 1990年1月19日 1990年1月19日 90年1月19日 1990 1990年1月 1990年1月 这些都是有效日期。 如果担心第3项内
2回复

基于变量类型的条件字符串表示

我想创建一个可以包含None值的datetime对象的字符串表示形式。 到目前为止,我提出了一个解决方案,但我正在寻找一种更好/更清洁的方法。 假设我有以下两个变量: 以下将返回格式化的字符串: 但以下将返回错误: 到目前为止,我可以使用以下解决方案: 但
2回复

给定输入日期作为字符串,找到以天为单位的年龄

我有一个以天为单位计算年龄的程序。 我正在考虑使用它来帮助我计算工资日 。 我要它要求日期1,然后日期2,这也将是当前日期。 但是,我希望它更简单,甚至不要求输入日期2。我想在我输入第二组日期时使用(time.strftime('%Y,%-m,%-d'))运行此代码。 我已经拥有用于计算