from datetime import datetime MT4_time_str = '2023.05.26 12:00' dt = datetime.strptime(MT4_time_str, '%Y.%m.%d %H:%M') hour = dt.hour print(hour) 没有找到名为 strptime 的属性/方法
时间: 2024-02-12 20:07:26 浏览: 120
如果在使用`datetime`模块的`strptime`方法时出现了"没有找到名为 strptime 的属性/方法"的错误,可能是因为没有正确导入模块。请确保使用以下导入语句:
```python
from datetime import datetime
```
然后再尝试运行代码获取时间的小时数。如果仍然出现错误,请检查代码中是否有其他语法错误或拼写错误。
相关问题
MT4_time = 2023.05.26 12:00 , 用python提前小时
可以使用Python中的datetime模块来解析MT4时间,并提取小时数。示例代码如下:
```python
from datetime import datetime
MT4_time_str = '2023.05.26 12:00'
dt = datetime.strptime(MT4_time_str, '%Y.%m.%d %H:%M')
hour = dt.hour
print(hour) # 输出 12
```
首先,使用`strptime`方法将MT4时间字符串转换为datetime对象,其中`'%Y.%m.%d %H:%M'`表示时间串的格式,分别对应年、月、日、小时和分钟。然后,通过访问datetime对象的`hour`属性,即可获取小时数。
current_time=self.current_time start_time = datetime.time(8, 0) # 開始時間:08:00 end_time = datetime.time(19, 0) # 結束時間:19:00 if start_time <= current_time <= end_time: self.combobox5.current(0) else: self.combobox5.current(1) current_time這個獲取的格式是17:58:16
根据你的代码,问题出在`current_time=self.current_time`这一行。你将`self.current_time`赋值给了`current_time`变量,但是根据你提供的信息,`self.current_time`的格式是字符串(例如"17:58:16")。
要解决这个问题,你需要将`self.current_time`转换为`datetime.time`对象,以便与`start_time`和`end_time`进行比较。你可以使用`datetime.datetime.strptime()`函数将字符串转换为`datetime.time`对象。这里是一个示例代码:
```python
import datetime
current_time_str = self.current_time
current_time = datetime.datetime.strptime(current_time_str, "%H:%M:%S").time()
start_time = datetime.time(8, 0) # 开始时间:08:00
end_time = datetime.time(19, 0) # 结束时间:19:00
if start_time <= current_time <= end_time:
self.combobox5.current(0)
else:
self.combobox5.current(1)
```
在这个示例中,我们使用`strptime()`函数将字符串格式的时间转换为`datetime.time`对象,并将其赋值给`current_time`变量。然后我们可以使用这个变量来进行比较操作。
阅读全文