【问题标题】:Convert datetime into standard time python将日期时间转换为标准时间python
【发布时间】:2022-01-26 02:38:33
【问题描述】:

我正在尝试将以小时分钟和秒显示的时间数据转换为标准时间。我也想丢弃秒数。 我正在像这样从 mysql 中选择日期时间

time = connect("SELECT","""SELECT datTime FROM myTable WHERE ID = 1;""")

然后我这样做只会得到时间

time = time[0][0].time()

我尝试了各种将时间转换为标准时间减去秒数的方法,例如

noSeconds = time.strftime("%H:%M")


timeNoSec = datetime.strptime(noSeconds, '%H:%M')

standardTime = noSeconds.strftime('%I:%M %p')

print(standardTime)

但我只是收到以下错误

standardTime = noSeconds.strftime('%I:%M %p')
AttributeError: 'str' object has no attribute 'strftime'

【问题讨论】:

  • “标准时间”是什么意思?您的意思是 Unix time_t 值,自 1970 年 1 月 1 日以来的秒数,由 time.time() 返回? datetime 模块将此称为时间戳。寻找totimestamp 方法。也许你应该展示一个你想要的字符串的例子。
  • 您的意思是timeNoSec.strftime('%I:%M %p')?还是直接time[0][0].strftime('%I:%M %p')
  • 按标准时间我的意思是晚上 8:30

标签: python datetime time


【解决方案1】:

这是因为变量 time 是一个字符串而不是时间格式,所以你尝试的方法都不起作用。 要转换,我发现了这个:

import datetime

origin = '2022-01-11 15:51:00'

time_total = datetime.datetime.strptime(origin, "%Y-%m-%d %H:%M:%S")
timeNoSec =  time_total.strftime("%H:%M")
print (timeNoSec)

15:51

From this post

【讨论】:

  • 当我尝试这个时,我收到以下错误ValueError: time data '2022-01-11 15:51:00' does not match format '%Y%m%d%H%M%S'
  • 对不起,我的错误,你必须把格式之间的分隔,像这样:strptime(time, "%Y-%m-%d %H:%M:%S")我将编辑帖子以便更好地理解
猜你喜欢
  • 2020-04-24
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 2018-08-24
相关资源
最近更新 更多