python中time模块与datetime模块下的strftime和strptime方法

一、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 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
‘’’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值