Pyspark дата до отметки времени с нуля часов / полуночи - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь создать переменную 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 ]

1 голос
/ 10 февраля 2020

Используя то, что вы уже импортировали:

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
0 голосов
/ 10 февраля 2020

Спасибо @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
...