Yin葉子 2022-05-10 22:12 采纳率: 33.3%
浏览 104
已结题

Python过程中把字符转换成日期格式报错

time_now = time.strptime('10/27/20 20:16:59', "%d%m%Y%H%M%S")

Err:

Traceback (most recent call last):

File "C:\Users\bying\PycharmProjects\pythonProject\E_DartLog.py", line 52, in

time_now=time.strptime(Rows[0],"%d%m%Y%H%M%S")

File "C:\Program Files\Python39\lib_strptime.py", line 562, in _strptime_time

tt = _strptime(data_string, format)[0]

File "C:\Program Files\Python39\lib_strptime.py", line 349, in _strptime

raise ValueError("time data %r does not match format %r" %

ValueError: time data '10/27/20 20:16:59' does not match format '%d%m%Y%H%M%S'

  • 写回答

2条回答 默认 最新

  • 「已注销」 2022-05-11 08:54
    关注

    看样子你没有仔细阅读官方文档是time 模块的介绍, 这个格式转换要注意两点

    1. 形式格式, 即 字符串,如果是,'10/27/20' 即 2020年10月27, 如果要以类似形式表示, 就要用: 月代码/日期代码/年份代码, 其中"/"是必须的
      同样如果是这样:'10-27-20' ,那么 你也得这样: 月代码-日期代码-年份代码
    2. 参数代码, 即 你样例中年份是20, 那么你不能使用Y, 而是应该使用y,
      因为, %y 表示:十进制数 [00,99] 表示的没有世纪的年份。%Y表示:十进制数表示的带世纪的年份。

    所以你这代码要修改成如下:

    
    import time
    
    time_now = time.strptime('10/27/20 20:16:59', "%m/%d/%y %H:%M:%S")
    
    # # time_now = time.strptime(Rows[0], "%d%m%Y%H%M%S")
    
    
    print(time_now)
    

    输出结果如下:

    time.struct_time(tm_year=2020, tm_mon=10, tm_mday=27, tm_hour=20, tm_min=16, tm_sec=59, tm_wday=1, tm_yday=301, tm_isdst=-1)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 5月10日

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题