【问题标题】:ValueError: invalid literal for int() with base 10: '10/24/2021, 02:49:28'ValueError: int() 以 10 为底的无效文字:'10/24/2021, 02:49:28'
【发布时间】:2021-10-24 01:11:05
【问题描述】:

我目前正在尝试编写一个简单的脚本,将一天添加到当前日期。 但是当运行我的脚本时,它会出现这样的错误: ValueError: invalid literal for int() with base 10: '10/24/2021, 02:49:28'

这是完整的错误信息:

Traceback (most recent call last):
  File "test.py", line 7,
    a = int(a) + timedelta(str(nt))
ValueError: invalid literal for int() with base 10: '10/24/2021, 02:49:28'

这是我的代码:

from datetime import datetime
from datetime import timedelta

nt = '1'
a = datetime.now()
a = a.strftime("%m/%d/%Y, %H:%M:%S")
a = int(a) + timedelta(str(nt))
print(a)

我的代码做错了吗?如果是这样,如果有人能向我解释我做错了什么并帮助我解决这个问题,我会非常高兴。

提前感谢您的每一个帮助和建议:)

Ps:如果有不清楚的地方欢迎提问:)

【问题讨论】:

  • 您正在尝试将 10/24/2021, 02:49:28 转换为 int
  • 您的错误正在发生,因为您将一个字符串传递给 int() 此处:a = int(a)
  • @ViaTech 所以我不必将 a 转换为 int?

标签: python python-3.x datetime


【解决方案1】:

如果你想得到一个字符串的整数值,可以这样,但它确实需要是一个有效的整数。

print (int("22"))

22

如果将字符串转换为数字不起作用,则会给出您刚刚看到的异常。

try:
    int('Your string here')
except Exception as e:
    print(e)

以 10 为底的 int() 的无效文字:'Your string here'

你正在用变量 a 做奇怪的事情。调用函数是正常的。但是将该函数的返回值分配给 a 会清除原始的 datetime 对象。如果你想打印出时间,那就打印出来吧。

from datetime import datetime, timedelta

a = datetime.now()
print ('printout of a timestamp:', a.strftime("%m/%d/%Y, %H:%M:%S"))

时间戳的打印输出:10/23/2021, 23:27:51

如果您需要时间增量,请使用它提供的参数。如果你只使用 timedelta(days=1) 会更清楚

a += timedelta(days=1)
print ('one second later it is: ', a.strftime("%m/%d/%Y, %H:%M:%S"))

一秒钟后是:10/24/2021, 23:27:51

【讨论】:

    【解决方案2】:

    您正在尝试将 datetime 对象转换为 int 对象,这会引发错误。如果要添加或减去日期,请使用timedelta() 方法。输入日期之间的分隔值timedelta(days=1) 并将其添加或减去当前日期时间对象。你的代码:

    from datetime import datetime
    from datetime import timedelta
    
    a = datetime.now()
    a = a + timedelta(days=1)
    a = a.strftime("%m/%d/%Y, %H:%M:%S")  #converted to string format
    
    print(a)
    

    【讨论】:

      猜你喜欢
      • 2018-09-09
      • 2020-01-04
      • 2010-12-22
      • 2011-07-07
      • 2019-10-14
      • 2022-05-19
      相关资源
      最近更新 更多