Преобразование datetime.date
Считываю данные с файла:
from PyQt5.QtCore import *
import math
import datetime
import time
import numpy as np
import pandas as pd
df = pd.read_csv('file.txt',
index_col='DATE',
parse_dates=True,
infer_datetime_format=True)
date = df.iloc[:, 0].index.date
z = df.iloc[:, 3].values
t = QDateTime.currentDateTime()
ts = t.toMSecsSinceEpoch()
print(t) #PyQt5.QtCore.QDateTime(2020, 6, 14, 1, 41, 22, 799)
print(type(t)) #<class 'PyQt5.QtCore.QDateTime'>
print(ts) #1592080882799
print(date[0]) #2018-10-30
print(type(date[0])) #<class 'datetime.date'>
файл находится здесь ссылка на файл
Как мне преобразовать значения date в формат понятный для pyqt5.
Чтобы к примеру подставить значение date[0] вместо currentDateTime()
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
QDate QDate::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
Возвращает QDate, представленную строкой, используя заданный формат, или недопустимую дату, если строка не может быть проанализирована.
QDateTime::QDateTime(const QDate &date)
Создает datetime с заданной датой, используя Qt::LocalTime в качестве timeSpec() и время в начале этой даты.
from PyQt5.QtCore import *
import math
import datetime
import time
import numpy as np
import pandas as pd
df = pd.read_csv('file.txt',
index_col='DATE',
parse_dates=True,
infer_datetime_format=True)
date = df.iloc[:, 0].index.date
z = df.iloc[:, 3].values
t = QDateTime.currentDateTime()
ts = t.toMSecsSinceEpoch()
print(t) # PyQt5.QtCore.QDateTime(2020, 6, 14, 1, 41, 22, 799)
print(type(t)) # <class 'PyQt5.QtCore.QDateTime'>
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
dateQDate = QDate.fromString('2020-06-14', 'yyyy-MM-dd')
print(f'\ndateQDate = {dateQDate}')
dateQDate = QDate.fromString(str(date[0]), 'yyyy-MM-dd') # <---------
print(f'dateQDate = {dateQDate}\n')
dateTime = QDateTime(dateQDate) # <---------
print(f'dateTime = {dateTime}\n')
dateTime2 = QDateTime(date[0]) # <=========
print(f'dateTime2 = {dateTime2}\n')
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
print(ts) # 1592080882799
print(date[0]) # 2018-10-30
print(type(date[0])) # <class 'datetime.date'>