报错的原因

报错的原因

# coding:utf-8

'''
   我们需要获取当前的日期时间就需要先导入datetime模块
'''
from datetime import datetime

from datetime import timedelta  # 获取3天以后

now = datetime.now()  # 接下来我们获取当前的日期对象定义now变量
print(now, type(now))  # 打印
now_str = now.strftime('%y-%m-%d %H:%M:%S')  # 时间对象转换字符串并格式化对应时间
print(now_str, type(now_str))


three_days = timedelta(days=3)  # 定义间隔时间3
after_three_day = now + three_days  #当前时间 + 3
print(after_three_day)  # 打印出3天后的时间
after_three_day_str = after_three_day.strftime('%Y/%m/%d %H:%M:%S')  # 时间对象转换字符串并格式化对应时间
print(after_three_day_str, type(after_three_day_str))
try:
    after_three_day_obj = datetime.strptime(after_three_day_str, '%Y/%m/%d %H:%M:%S')
    print(after_three_day_obj)
except Exception as e:
    print(e)

before_three_day = now - three_days  # 当前时间-3
print(before_three_day)  # 打印出3天前
before_three_day_str = before_three_day.strftime('%Y%m%d')  # 日期时间转换成字符串并格式化对应年,月,日
print(before_three_day_str, type(before_three_day_str))

one_hour = timedelta(hours=1)  # 间隔的时间为1小时
before_one_hour = now - one_hour  # 当前时间-1小时
print(before_one_hour)  # 打印出1小时之后的时间
before_one_hour_str = before_one_hour.strftime('%H:%M:%S')  # 日期时间转换成字符串并格式化对应小时,分钟,秒
print(before_one_hour_str, type(before_one_hour_str))

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小猿 2022-10-25 12:55:44

同学,你好!老师这边运行程序没有报错,如图:

https://img1.sycdn.imooc.com//climg/63576bb90985a3de14530886.jpg

同学可将报错信息以复制粘贴的形式粘贴到问答区,方便解决同学的问题。祝学习愉快~

  • 提问者 静静09 #1

    我那里捕捉异常是报错

    2022-10-25 13:10:05
  • 好帮手慕小猿 回复 提问者 静静09 #2

    同学,你好!1、同学检查下报错的代码与粘贴到问答区的代码是否是一致的,老师运行try语句没有问题
    https://img1.sycdn.imooc.com//climg/6357743209855eec13290868.jpg

    2、同学请以截图的方式将报错信息粘贴到问答区,方便解决同学的问题。祝学习愉快~


    2022-10-25 13:32:06
  • 提问者 静静09 回复 好帮手慕小猿 #3
    # coding:utf-8
    
    '''
       我们需要获取当前的日期时间就需要先导入datetime模块
    '''
    from datetime import datetime
    
    from datetime import timedelta  # 获取3天以后
    
    now = datetime.now()  # 接下来我们获取当前的日期对象定义now变量
    print(now, type(now))  # 打印
    now_str = now.strftime('%y-%m-%d %H:%M:%S')  # 时间对象转换字符串并格式化对应时间
    print(now_str, type(now_str))
    
    
    three_days = timedelta(days=3)  # 定义间隔时间3
    after_three_day = now + three_days  #当前时间 + 3
    print(after_three_day)  # 打印出3天后的时间
    after_three_day_str = after_three_day.strftime('%Y/%m/%d %H:%M:%S')  # 时间对象转换字符串并格式化对应时间
    print(after_three_day_str, type(after_three_day_str))
    try:
        after_three_day_obj = datetime.strptime(after_three_day_str, '%Y/%m/%d %H:%M:%S')
        print(after_three_day_obj)
    except Exception as e:
        print(e)
    
    before_three_day = now - three_days  # 当前时间-3
    print(before_three_day)  # 打印出3天前
    before_three_day_str = before_three_day.strftime('%Y%m%d')  # 日期时间转换成字符串并格式化对应年,月,日
    print(before_three_day_str, type(before_three_day_str))
    
    one_hour = timedelta(hours=1)  # 间隔的时间为1小时
    before_one_hour = now - one_hour  # 当前时间-1小时
    print(before_one_hour)  # 打印出1小时之后的时间
    before_one_hour_str = before_one_hour.strftime('%H:%M:%S')  # 日期时间转换成字符串并格式化对应小时,分钟,秒
    print(before_one_hour_str, type(before_one_hour_str))
    # 这是运行捕获异常的
    C:\python3.8\python.exe E:/pytho学习代码/1.py
    2022-10-25 16:23:12.435208 <class 'datetime.datetime'>
    22-10-25 16:23:12 <class 'str'>
    2022-10-28 16:23:12.435208
    2022/10/28 16:23:12 <class 'str'>
    666
    cannot import name 'iskeyword' from 'keyword' (E:\pytho学习代码\keyword.py)  # 异常在这里
    2022-10-22 16:23:12.435208
    20221022 <class 'str'>
    2022-10-25 15:23:12.435208
    15:23:12 <class 'str'>
    
    进程已结束,退出代码0


    2022-10-25 16:25:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师