Pyspark日期到时间戳,带有零小时/午夜

Pyspark日期到时间戳,带有零小时/午夜,pyspark,timestamp,databricks,Pyspark,Timestamp,Databricks,我正在尝试为一天的开始创建一个datetime变量。最终,我可以通过f字符串将其传递到各种查询中(如下面的示例) import datetime start_datetime = datetime.datetime.today() query = f""" (SELECT * FROM TABLE_NAME WHERE datetime_var >= '{start_datetime}' )"""

我正在尝试为一天的开始创建一个datetime变量。最终,我可以通过f字符串将其传递到各种查询中(如下面的示例)

import datetime 

start_datetime = datetime.datetime.today()

query = f""" (SELECT *
             FROM   TABLE_NAME
             WHERE  datetime_var >= '{start_datetime}'
             )"""
我在计算如何将日期时间/时间戳设置为0小时时遇到了问题

这就是我尝试过的:

from pyspark.sql.functions import to_timestamp

# attaching '00:00:00' to the date
start_date = datetime.date.today()
start_dt = to_timestamp(str(start_date)+' 00:00:00')

print(start_dt)
>>> Column<b'to_timestamp(`2020-02-10 00:00:00`)'>
从pyspark.sql.functions导入到\u时间戳
#将“00:00:00”附加到日期
开始日期=datetime.date.today()
开始时间=到时间戳(str(开始日期)+'00:00:00')
打印(开始)
>>>纵队
这不会解析为一个值。我想不出还有什么可以尝试的

如何获取当天午夜的时间戳


提前感谢。

使用您已经导入的内容:

import datetime 
from pyspark.sql.functions import to_timestamp

start_datetime = str(datetime.date.today().strftime('%Y-%m-%d %H:%M:%S'))
query = f""" (SELECT *
             FROM   TABLE_NAME
             WHERE  datetime_var >= '{start_datetime}'
             )"""
print(start_datetime)
>>> 2020-02-10 00:00:00

感谢@AnkurChavda发布该链接。下面是如何做到这一点

import datetime 

# replace hour, minute, second & microsecond values 
start_dt = datetime.datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)

print(start_dt)
>>> 2020-02-10 00:00:00

检查这是否可以解决您的问题-谢谢@AnkurChavda。看起来
.replace()
函数正是我想要的:)