Pyspark日期到时间戳为零小时/午夜

时间:2020-02-10 12:03:02

标签: pyspark timestamp databricks

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

import datetime 

start_datetime = datetime.datetime.today()

query = f""" (SELECT *
             FROM   TABLE_NAME
             WHERE  datetime_var >= '{start_datetime}'
             )"""

我在解决如何使日期时间/时间戳为零小时方面遇到麻烦。

这是我尝试过的:

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`)'>

这不会解析为值。我无法解决其他问题。

如何获取当前时间戳记的午夜?

谢谢。

2 个答案:

答案 0 :(得分:1)

使用您已经导入的内容:

T(1,1,:)

答案 1 :(得分:0)

感谢@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