当前位置: 首页 > 面试题库 >

将datetime.date对象转换为带零的datetime.datetime对象,以表示缺少的时间属性

卫招
2023-03-14
问题内容

是否有内置函数将缺少的东西将datetime.date对象转换为带有0的datetime.datetime对象?例如,假设

tdate = datetime.date(2012,1,31)

我想写这样的东西

tdatetime = datetime.date.datetime()
tdatetime = datetime.datetime(tdate)

我希望输出是

datetime.datetime(2012, 1, 31, 0, 0)

但是两者都不起作用。从datetime.datetime到datetime.date有一个内置函数,但是我正在寻找相反的操作。

一种非常差的解决方案是写:

datetime.datetime(tdate.year(), tdate.month(), tdate.day(), 0, 0)

我特别想避免这种不好的方法。

我已经编写了自己的小函数来执行此操作,但是我认为应该在模块中提供它。使用我的功能时,一些系统范围的导入变得混乱不堪。这是可行的,但不是Pythonic。

我只想问问是否有人知道仅使用datetime模块函数就能做到这一点。


问题答案:

使用.combine(date, time)一个空time的实例:

>>> import datetime
>>> tdate = datetime.date(2012,1,31)
>>> datetime.datetime.combine(tdate, datetime.time())
datetime.datetime(2012, 1, 31, 0, 0)

如果您想使用常量,请使用time.min

>>> datetime.datetime.combine(tdate, datetime.time.min)
datetime.datetime(2012, 1, 31, 0, 0)


 类似资料:
  • 问题内容: 我想使用Java 8技巧在一行中执行以下操作。 给定此对象定义: 和a ,我想得到a ,它是第一个列表中所有s对象的列表- 顺序相同。 我可以使用Java中的循环来做到这一点,但我相信Java8中应该有一个单行lambda可以做到这一点。我无法在线找到解决方案。也许我没有使用正确的搜索词。 有人可以为这种转换建议一个lambda或另一种线吗? 问题答案: 这应该可以解决问题: 也就是说

  • 我可以在Java中使用循环来实现这一点,但我认为在Java8中应该有一个一行程序lambda来实现这一点。我无法在网上找到解决方案。也许我没有使用正确的搜索词。 有人能为这个转换提出一个lambda或另一个一行程序吗?

  • 我有档案卡。java和Util。java,我不允许修改它。出于我自己的目的,我创建了一个类Card2,它扩展了Card,并添加了一个方法和一个方法。Util类包含一个采用ArrayList的方法 我的理解是,在这种情况下,

  • 本文向大家介绍将当前时间转换为java.sql.Date对象,包括了将当前时间转换为java.sql.Date对象的使用技巧和注意事项,需要的朋友参考一下 首先,创建一个Calendar类对象。 现在,导入以下软件包。 现在使用Date类并创建对象将属于上述包。将当前时间转换为java.sql.Date对象。 以下是一个示例。 示例 输出结果

  • 问题内容: 我将字符串时间转换为时间对象时遇到问题,因为它与日期一起打印。这是我的代码。 如何在Java中仅不带日期的情况下转换和打印时间。如果您能举个例子,那就更好了。 谢谢。 问题答案: 使用与解析时相同的方法: 请记住,该对象始终代表一个组合的日期/时间值。它不能正确表示仅日期或仅时间值,因此您必须使用正确的值以确保仅“查看”所需的部分。