跳转至

字符串转日期时间

str转为datetime

使用datetime.datetime中的strptime方法

示例

Python
from datetime import datetime
dt = datetime.strptime('2022-12-15 12:45:32', '%Y-%m-%d %H:%M:%S')

结果 py-str_2_dt-1.png

datetime转为str

使用datetime.datetime中的strftime方法

示例

Python
1
2
3
4
from datetime import datetime  
str_dt = datetime.now().strftime('%Y-%m-%d %H:%M:%S')  
str_date = datetime.now().strftime('%Y-%m-%d')  
str_time = datetime.now().strftime('%H:%M:%S')

结果 py-str_2_dt-2.png

常用strftime()strptime()格式

示例DEMO

此示例将当前的日期时间转化为格式化的字符串

Python
from datetime import datetime  

dt = datetime.now()  

# 常用格式  
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f'))  
# 省去世纪的两位数年份  
print(dt.strftime('%y'))  
# 带有上下午的12小时制  
print(dt.strftime('%I %p'))  
# 本年和本周的第几天  
print(dt.strftime('%j'))  
print(dt.strftime('%w'))  
# 本年的第几周  
print(dt.strftime('%W'))  
print(dt.strftime('%U'))  
# 星期几  
print(dt.strftime('%A'))  
print(dt.strftime('%a'))  
# 本地化时间和日期  
print(dt.strftime('%c'))  
print(dt.strftime('%x'))  
print(dt.strftime('%X'))

输出如下

Text Only
2022-01-23 17:01:08.341197
22
05 PM
023
0
03
04
Sunday
Sun
Sun Jan 23 17:01:08 2022
01/23/22
17:01:08

基本格式

代码 解释 示例
%Y 年(4位数) 2021, 2022
%m 月(补零2位数) 03, 04, 12
%d 日(补零2位数) 05, 06, 31
%H 时(补零2位数, 24小时制) 00, 01, 23
%M 分(补零2位数) 00, 01, 59
%S 秒(补零2位数) 00, 01, 59
%f 微秒(6位数) 126551

其他格式

代码 解释 示例
%y 年(2位数) 21, 22
%I 时(补零2位数, 12小时制) 01, 03, 12
%p 上下午 AM, PM
%j 本年第几天(补零3位数) 001, 002, 365, 366
%w 本周第几天,0代表周日 0, 1, 6
%W 本年第几周(补零2位数,周一是第一天) 00, 01, 53
%U 本年第几周(补零2位数,周日是第一天) 00, 01, 53
%A 星期几完整写法 Sunday, Monday, Saturday
%a 星期几缩写 Sun, Mon, Sat
%c 本地化的日期和时间 Tue Aug 16 21:30:00 1988
%x 本地化的日期 08/16/1988
%X 本地化的时间 21:30:00

参考

  1. datetime --- 基本日期和时间类型