您的位置:

利用Python的datetime.strptime()方法对时间字符串进行格式化

在Python中,时间是一个经常被使用的对象。在很多情况下,我们需要根据特定的格式将时间字符串转换为日期时间对象。 Python中的datetime.strptime()方法就可以帮助我们完成这一转换工作。本文将详细介绍datetime.strptime()方法的使用。

一、strptime()方法介绍

datetime.strptime(date_string, format)是Python中用于将字符串日期时间转换成日期时间对象的方法。其中,date_string是需要转换的字符串,format是字符串的时间格式.

    from datetime import datetime
    
    date_string = "2021-06-01 08:30"
    format = "%Y-%m-%d %H:%M"
    
    datetime_object = datetime.strptime(date_string, format)
    
    print(datetime_object)

执行以上代码后,我们会得到一个datetime对象:

    2021-06-01 08:30:00

二、format格式说明

下面是一些常用的format格式说明。

Directive Meaning Example
%Y Year with century 2021
%m Month as a zero-padded decimal number 06
%B Month as locale’s full name June
%d Day of the month as a zero-padded decimal number 01
%j Day of the year as a zero-padded decimal number 152
%U Week number of the year (Sunday as the first day of the week) 22
%w Weekday as a decimal number (0-6, Sunday is 0) 1
%H Hour (24-hour clock) as a zero-padded decimal number 08
%M Minute as a zero-padded decimal number 30
%S Second as a zero-padded decimal number 00
%f Microsecond as a decimal number, zero-padded on the left 000000

三、实际应用案例

1、将时间字符串转换成Unix时间戳

    from datetime import datetime
    
    date_string = "2021-06-01 08:30"
    format = "%Y-%m-%d %H:%M"
    
    datetime_object = datetime.strptime(date_string, format)
    
    timestamp = datetime_object.timestamp()
    
    print(timestamp)

输出结果为:

    1622526600.0

2、将不同格式的时间字符串统一转换成datetime对象

    from datetime import datetime
    
    date_string_list = ["2021-06-01 08:30", "2021/06/01/08/30", "2021|06|01 08:30"]
    
    for date_string in date_string_list:
        if "|" in date_string:
            format = "%Y|%m|%d %H:%M"
        elif "/" in date_string:
            format = "%Y/%m/%d/%H/%M"
        else:
            format = "%Y-%m-%d %H:%M"
    
        datetime_object = datetime.strptime(date_string, format)
    
        print(datetime_object)

输出结果为:

    2021-06-01 08:30:00
    2021-06-01 08:30:00
    2021-06-01 08:30:00

3、根据日期时间对象输出不同格式的字符串

    from datetime import datetime
    
    date_object = datetime(2021, 6, 1, 8, 30)
    
    format1 = "%Y-%m-%d %H:%M"
    format2 = "%Y/%m/%d %H:%M"
    
    date_string1 = date_object.strftime(format1)
    date_string2 = date_object.strftime(format2)
    
    print(date_string1)
    print(date_string2)

输出结果为:

    2021-06-01 08:30
    2021/06/01 08:30

四、总结

datetime.strptime()方法是Python中非常有用的一个日期时间处理方法,它可以帮助我们将字符串日期时间转换成日期时间对象,并且可以通过format参数自定义时间格式,非常灵活。在日常工作中,学会使用datetime.strptime()方法可以为我们的编程工作带来很多便利。