Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
猜测日期格式python_Python_Exception_Datetime_Strptime - Fatal编程技术网

猜测日期格式python

猜测日期格式python,python,exception,datetime,strptime,Python,Exception,Datetime,Strptime,我正在一个Python模块中编写一个方法,试图让用户更轻松地使用它。此方法实现在该日历中创建事件 def update_event(start_datetime=None, end_datetime=None, description=None): ''' Args: start_date: string datetime in the format YYYY-MM-DD or in RFC 3339 end_date: string datetime in the format YYY

我正在一个Python模块中编写一个方法,试图让用户更轻松地使用它。此方法实现在该日历中创建事件

def update_event(start_datetime=None, end_datetime=None, description=None):
'''
Args:
  start_date: string datetime in the format YYYY-MM-DD or in RFC 3339
  end_date: string datetime in the format YYYY-MM-DD or in RFC 3339
  description: string with description (\n are transforrmed into new lines)
'''
如果用户指定开始日期或结束日期,则应进行检查,以确定日期是YYYY-MM-DD格式还是datetime RFC 3339格式

if (start_date is not None):
    # Check whether we have an date or datetime value
    # Whole day events are represented as YYYY-MM-DD
    # Other events are represented as 2014-04-25T10:47:00.000-07:00
    whole_day_event = False
    try:
        new_start_time = datetime.datetime.strptime(start_date,'YYYY-MM-DD')
        # Here the event date is updated
        try:
            new_start_time = datetime.datetime.strptime(start_date,'%Y-%m-%dT%H:%M:%S%z')
            #Here the event date is updated
        except ValueError:
            return (ErrorCodeWhatever)
    except ValueError:
        return (ErrorCodeWhatever)
这是一个很好的方法吗?我能以更好的方式查看我收到的日期吗? 谢谢

可用于尝试将字符串解析为
datetime
对象

from dateutil.parser import parse

def update_event(start_datetime=None, end_datetime=None, description=None):
    if start_datetime is not None:
        new_start_time = parse(start_datetime)

        return new_start_time

d = ['23/04/2014', '24-04-2013', '25th April 2014']

new = [update_event(i) for i in d]

for date in new:
    print(date)
    # 2014-04-23 00:00:00
    # 2013-04-24 00:00:00
    # 2014-04-25 00:00:00
可用于尝试将字符串解析为
datetime
对象

from dateutil.parser import parse

def update_event(start_datetime=None, end_datetime=None, description=None):
    if start_datetime is not None:
        new_start_time = parse(start_datetime)

        return new_start_time

d = ['23/04/2014', '24-04-2013', '25th April 2014']

new = [update_event(i) for i in d]

for date in new:
    print(date)
    # 2014-04-23 00:00:00
    # 2013-04-24 00:00:00
    # 2014-04-25 00:00:00

你应该
提出
错误,不要
返回
错误。你完全正确,我只是在完成代码来发布问题你应该
提出
错误,不要
返回
错误。你完全正确,我只是在完成代码来发布问题谢谢!我不知道:)没问题,很高兴能帮上忙。如果你觉得我的回答对你有帮助,你可以。谢谢!我不知道:)没问题,很高兴能帮上忙。如果你觉得我的回答对你有帮助,你可以。