一、time模块
strftime:将时间结构体元组转换成指定格式的时间字符串,返回一个字符串
time.strftime(format,p_tuple)
strptime:将时间字符串根据指定格式转成时间结构体元组,返回一个元组
time.strptime(string,format)
import time
t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
print(type(time.localtime()),time.localtime())
# <class 'time.struct_time'> time.struct_time(tm_year=2020, tm_mon=9, tm_mday=6, tm_hour=22, tm_min=54, tm_sec=46, tm_wday=6, tm_yday=250, tm_isdst=0)
print(type(t),t) # <class 'str'> 2020-09-06 22:13:49
# 常用时间占位符,如下:
"""
%Y 年,从1900年开始.
%m 月 [01,12].
%d 日 表示当前月份的日期 [01,31].
%H 小时 24小时制 [00,23].
%M 分 [00,59].
%S 秒 [00,61].
%z 时区与UTC的偏移量.
%a 星期几的缩写 星期天:sunday -> sun
%A 星期几的全称 星期天:sunday
%b 月份的缩写 一月:January - >Jan
%B 月份全称 一月:January
%c 当前日期的标准时间
%I 小时 12小时制 [01,12].
%p AM 或者 PM.
"""
st = time.strptime(t,'%Y-%m-%d %H:%M:%S')
print(st)
"""time.struct_time(
tm_year=2020,
tm_mon=9,
tm_mday=6,
tm_hour=22,
tm_min=13,
tm_sec=49,
tm_wday=6, # 一周中的第几天[0,6] 0代表周一,6代表周日
tm_yday=250, # 时间索引[1,366],
tm_isdst=-1) # 夏季:1 不是夏季:0 不清楚:-1
"""
二、datetime模块
datetime.strptime()将时间字符串转换成指定格式的时间
strptime(string,format)
datetime.strftime()将时间转换成时间字符串
strftime(format)
from datetime import datetime
print(datetime.now()) # 2020-09-06 22:50:55.993386
str_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(str_time) # 2020-09-06 22:50:55
print(type(str_time)) # <class 'str'>
time1 = datetime.strptime(str_time,'%Y-%m-%d %H:%M:%S')
print(time1) # 2020-09-06 22:50:55
print(type(time1)) # <class 'datetime.datetime'>
参数借鉴如下:
‘’’
%a 星期几的简写;如 星期三为Web
%A 星期几的全称;如 星期三为Wednesday
%b 月份的简写; 如4月份为Apr
%B 月份的全称; 如4月份为April
%c 标准的日期的时间串;(如: 04/07/10 10:43:39)
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%U 第年的第几周,把星期日做为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
‘’’