Python DateTime – strptime() 函数
https://www.geeksforgeeks.org/python-datetime-strptime-function/
strptime() 是 DateTime 中另一种可用的方法,用于将字符串格式的时间戳格式化为日期时间对象。
语法:datetime . strptime(time _ data,format_data)
参数:
- timedate 是以字符串格式显示的时间
- format_data 是以 datetime 格式呈现的数据,它是使用此函数从 time_data 转换而来的。
str time()是如何工作的?
这个函数有两个参数,一个是给定时间的字符串,另一个是格式代码,要将这个字符串转换成,这个字符串会按照下面给出的代码列表转换成日期时间对象。
格式代码
| **格式代码** | **意为** | **例** | | --- | --- | --- | | %a | 缩写的工作日名称 | 珊,我的天 | | %A | 完整的工作日名称 | 星期天,星期一 | | %w | 以十进制数表示的工作日 | 0…6 | | %d | 以零填充十进制表示的一个月中的某一天 | 01, 02 | | %-d | 以十进制数表示的一个月中的某一天 | 1, 2 .. | | %b | 缩写的月份名称 | 一月,二月 | | %m | 月是零填充的十进制数 | 01, 02 | | %-m | 以十进制数表示的月份 | 1, 2 | | %B | 完整月份名称 | 一月,二月 | | %y | 没有世纪的年份作为零填充的十进制数 | 99, 00 | | %-y | 没有世纪作为十进制数的年份 | 0, 99 | | %Y | 以世纪为十进制数的年份 | 2000, 1999 | | %H | 小时(24 小时制)作为零填充十进制数 | 01, 23 | | %-H | 小时(24 小时制)作为十进制数 | 1, 23 | | %I | 小时(12 小时制)作为零填充十进制数 | 01, 12 | | %-我 | 十进制数形式的小时(12 小时制) | 1, 12 | | %p | 区域设置的上午或下午 | 上午,下午 | | %M | 分钟作为零填充的十进制数 | 01, 59 | | %-M | 分钟作为十进制数 | 1, 59 | | %S | 第二个是零填充的十进制数 | 01, 59 | | %-S | 第二个十进制数 | 1, 59 | | %f | 微秒为十进制数,左边填充零 | 000000, 999999 | | %z | 世界协调时偏移量,格式为+HHMM 或-HHMM | | | %Z | 时区名称 | | | %j | 以零填充的十进制数表示的一年中的某一天 | 001, 365 | | %-j | 以十进制数表示的一年中的某一天 | 1, 365 | | %U | 一年中的第几周(星期日是第一周) | 0, 6 | | %W | 一年中的周数 | 00, 53 | | %c | 区域设置的适当日期和时间表示 | 我的九月三十日 07:06:05 2013 | | %x | 区域设置的适当日期表示 | 11/30/98 | | %X | 区域的适当时间表示 | 10:03:43 | | %% | 文字“%”字符 | % |示例 1: Python 程序读取 datetime 并使用 strptime 获取所有时间数据。这里,我们将采用字符串格式的时间数据,并提取小时、分钟、秒和毫秒
Python 3
# import datetime module from datetime
from datetime import datetime
# consider the time stamp in string format
# DD/MM/YY H:M:S.micros
time_data = "25/05/99 02:35:5.523"
# format the string in the given format :
# day/month/year hours/minutes/seconds-micro
# seconds
format_data = "%d/%m/%y %H:%M:%S.%f"
# Using strptime with datetime we will format
# string into datetime
date = datetime.strptime(time_data, format_data)
# display milli second
print(date.microsecond)
# display hour
print(date.hour)
# display minute
print(date.minute)
# display second
print(date.second)
# display date
print(date)
输出:
Five hundred and twenty-three thousand
Two
Thirty-five
five
1999-05-25 02:35:05.523000
示例 2: 使用 strptime 的 Python 代码。在这里,我们将以字符串格式获取时间数据,并以“%d/%m/%y %H:%M:%S.%f”格式提取时间戳。
Python 3
# import datetime module from datetime
from datetime import datetime
# consider the time stamps from a list in string
# format DD/MM/YY H:M:S.micros
time_data = ["25/05/99 02:35:8.023", "26/05/99 12:45:0.003",
"27/05/99 07:35:5.523", "28/05/99 05:15:55.523"]
# format the string in the given format : day/month/year
# hours/minutes/seconds-micro seconds
format_data = "%d/%m/%y %H:%M:%S.%f"
# Using strptime with datetime we will format string
# into datetime
for i in time_data:
print(datetime.strptime(i, format_data))
输出:
1999-05-25 02:35:08.023000
1999-05-26 12:45:00.003000
1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000
我们可以通过使用 strptime()本身来获得一个包含所有日期的结构之后的时间。
语法:
time.strptime(时间戳,' %d/%m/%y %H:%M:%S ')
其中时间戳包括时间和日期
示例:结构中获取时间的 Python 代码:
Python 3
#import time
import time
# get data of 4 th april 2021 at time 9 pm
print(time.strptime('04/04/21 09:31:22', '%d/%m/%y %H:%M:%S'))
# get data of 5 th april 2021 at time 9 pm
print(time.strptime('05/04/21 09:00:42', '%d/%m/%y %H:%M:%S'))
# get data of 6 th april 2021 at time 9 pm
print(time.strptime('06/04/21 09:11:42', '%d/%m/%y %H:%M:%S'))
# get data of 7 th april 2021 at time 9 pm
print(time.strptime('07/04/21 09:41:12', '%d/%m/%y %H:%M:%S'))
输出:
time.struct_time(tm_year=2021,tm_mon=4,tm_mday=4,tm_hour=9,tm_min=31,tm_sec=22,tm_wday=6,tm_yday=94,tm_isdst=-1)
time.struct_time(tm_year=2021,tm_mon=4,tm_mday=5,tm_hour=9,tm_min=0,tm_sec=42,tm_wday=0,tm_yday=95,tm_isdst=-1)
time.struct_time(tm_year=2021,tm_mon=4,tm_mday=6,tm_hour=9,tm_min=11,tm_sec=42,tm_wday=1,tm_yday=96,tm_isdst=-1)
time.struct_time(tm_year=2021,tm_mon=4,tm_mday=7,tm_hour=9,tm_min=41,tm_sec=12,tm_wday=2,tm_yday=97,tm_isdst=-1)
还可以以 yyyy-mm-dd datetime 格式获取字符串 datetime。yyyy-mm-dd 代表年-月-日。我们可以使用 strptime()函数将字符串格式转换为 DateTime。我们将使用“%Y/%m/%d”格式将字符串转换为日期时间。
语法: datetime.datetime.strptime(输入,格式)
参数:
- 输入是字符串日期时间
- 格式是格式–“yyyy-mm-DD”
- 日期时间是模块
首先,导入模块并给出输入日期时间字符串。现在使用 strptime 获取所需的格式,并使用 date()函数从 DateTime 中获取日期
示例 1 :将字符串日期时间格式转换为日期时间的 Python 程序
Python 3
# import the datetime module
import datetime
# datetime in string format for may 25 1999
input = '2021/05/25'
# format
format = '%Y/%m/%d'
# convert from string format to datetime format
datetime = datetime.datetime.strptime(input, format)
# get the date from the datetime using date()
# function
print(datetime.date())
输出:
2021-05-25
示例 2: 将字符串日期时间列表转换为日期时间
Python 3
# import the datetime module
import datetime
# datetime in string format for list of dates
input = ['2021/05/25', '2020/05/25', '2019/02/15', '1999/02/4']
# format
format = '%Y/%m/%d'
for i in input:
# convert from string format to datetime format
# and get the date
print(datetime.datetime.strptime(i, format).date())
输出:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
我们也可以用% d/% M/% Y % H:% M:% S”格式显示日期时间。为此,我们将获取日期-月-年小时数:分钟的数据;秒格式。因此,我们必须获取输入日期时间字符串,并获得这种格式
语法:datetime . strptime(input _ date,“%d/%m/%Y %H:%M:%S”)
参数:
- 日期时间是模块
- input_date 是字符串日期时间格式
- strptime 用于将 input_date 字符串转换为 datetime
示例 3: Python 程序将字符串日期时间转换为“%d/%m/%Y %H:%M:%S”格式
Python 3
#import datetime
from datetime import datetime
# consider the datetime string in dd/mm/yyyy
# hh:mm:ss format
date = "25/05/2021 02:35:15"
# convert string datetime to dd/mm/yyyy hh:mm:ss
# format
datetime_date = datetime.strptime(date, "%d/%m/%Y %H:%M:%S")
print(datetime_date)
输出:
2021-05-25 02:35:15
版权属于:月萌API www.moonapi.com,转载请注明出处