【问题标题】:Date input format? [duplicate]日期输入格式? [复制]
【发布时间】:2023-03-31 18:21:01
【问题描述】:

我有这样的代码:

import time
import datetime
def dates():
    date1 = str(input('Date start: '))
    try:
        dt_start = datetime.strptime(date1, '%d, %m, %Y')
    except ValueError:
        print ("Incorrect format")
    date2 = str(input('Date end: '))
    try:
        dt_end = datetime.strptime(date2, '%d, %m, %Y')
    except ValueError:
        print ("Incorrect format")
    if date1 > date2:
        print("Error!")
    dates()

我想定义像 d.m.Y. 这样的日期输入格式

例如,当我输入“17.12.1995”时。我收到错误: 'module' object has no attribute 'strptime'.

如何定义用户输入格式?

【问题讨论】:

  • 您要输入d.m.Y?这不是您的代码所期望的
  • 您的 strptime 将仅接受 dd, mm, yyyy 格式的 date1 值,即 1, 8, 2017 您甚至需要输入空间。

标签: python date input


【解决方案1】:

datetime 是一个模块,其中有一个同名的类(datetime),并且该类有一个类方法strptime()。你需要这样称呼它:

dt_start = datetime.datetime.strptime(date1, '%d, %m, %Y')

或者更改您的导入语句:

from datetime import datetime

以便它仅将 datetime 类导入您当前的命名空间。

【讨论】:

  • 我尝试了两种方法,但是现在当我尝试使用dt_start = datetime.datetime.strptime(date1, '%d, %m, %Y') 时,我得到了错误类型对象'datetime.datetime' 没有属性'datetime'
  • @Heo - 根据您的需要选择其中一个。
猜你喜欢
  • 1970-01-01
  • 2014-08-14
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多