Python中如何准确区分strftime和strptime的用法?
用 python 写各种脚本 2 年多了,今天用 datetime 还是傻傻的分不清。。。
Python中如何准确区分strftime和strptime的用法?
我是这样记的:
- str_format_time
- str_parse_time
strftime 和 strptime 是 Python datetime 模块里两个名字很像但功能完全相反的方法,核心区别就一句话:strftime 是“格式化成字符串”,strptime 是“从字符串解析出来”。
1. strftime (String Format Time)
* 作用: 把一个 datetime 对象(比如 datetime.datetime.now() 得到的)格式化成一个你指定格式的字符串。
* 谁调用: datetime 对象。
* 返回值: 字符串。
* 示例:
```python
from datetime import datetime
now = datetime.now()
# 把datetime对象now,格式化成字符串
date_string = now.strftime("%Y-%m-%d %H:%M:%S")
print(date_string) # 输出类似:2023-10-27 14:30:15
print(type(date_string)) # <class 'str'>
```
2. strptime (String Parse Time)
* 作用: 把一个字符串,按照你指定的格式,解析成一个 datetime 对象。
* 谁调用: datetime 类本身(注意,不是对象)。
* 返回值: datetime 对象。
* 示例:
```python
from datetime import datetime
date_string = "2023-10-27 14:30:15"
# 把字符串date_string,按照给定格式解析成datetime对象
date_obj = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_obj) # 输出:2023-10-27 14:30:15
print(type(date_obj)) # <class 'datetime.datetime'>
```
一句话总结: 记 f 是 format(格式化输出),p 是 parse(解析输入)就不会搞混了。
一个是 format,一个是 parse,很好分啊,s 和 p
我主要不是太记得 %Y 什么的。。。。
知道我发现了 %F %T !!!神器
一个文本构造器,一个文本解析器
我都临时 google 查
我一直面向 google 编程。。。
每次用到下意识查 Dash…
我都是用 pychcarm view->Parameter info
写多了,在需要的时候自然就敲出来啦。


