从日期选择时间

2024-05-19 05:53:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我们在自己的云上有一个python程序,我们希望从MySQL数据库中获取数据,并使用它进行分析。到目前为止,我们希望从datetime中选择时间。你知道吗

示例:'02/11-2019 18:20:00'-->;选择'18:20:00'

我们正在尝试使用以下代码行执行此操作:

test = pd.read_sql('SELECT CAST(time_end AS time(0)) FROM Raw_Validated WHERE third_temp_lpn = "%s"' % (list_lpn_temp[-1]), conn).astype(str).values
times.extend(test)
print (times)

由于某些原因,打印时还添加了“0天”,因此我们的打印看起来像:

enter image description here

在文本中

2019-07-26 19:00:00  |  2019-07-26 19:20:00
[array(['0 days 19:20:00.000000000'], dtype=object)]
2019-07-27 03:00:00  |  2019-07-27 03:20:00
[array(['0 days 19:20:00.000000000'], dtype=object), array(['0 days 12:40:00.000000000'], dtype=object), array(['0 days 17:00:00.000000000'], dtype=object), array(['0 days 11:20:00.000000000'], dtype=object)]
2019-07-27 22:20:00  |  2019-07-27 22:40:00
[array(['0 days 19:20:00.000000000'], dtype=object), array(['0 days 12:40:00.000000000'], dtype=object), array(['0 days 17:00:00.000000000'], dtype=object), array(['0 days 11:20:00.000000000'], dtype=object)]

为什么会发生这种情况,我们能做些什么来避免这种情况?你知道吗


Tags: test程序数据库datetimeobjecttime时间mysql
1条回答
网友
1楼 · 发布于 2024-05-19 05:53:41

您应该将转换/剪切移到应用程序的python部分,我认为这比在数据库上转换更容易:

import datetime

sql_time = "2019-11-12 18:20:00"
time_end = datetime.datetime.strptime(sql_time, '%Y-%m-%d %H:%M:%S')
print(time_end.strftime('%H:%M:%S'))

当您使用pandas时,您不应该强制转换datetime对象,因为pandas本身可以这样做:

你知道吗系列.dt.时间-返回的numpy数组日期时间.time(https://pandas.pydata.org/pandas-docs/stable/reference/series.html

相关问题 更多 >

    热门问题