python日期格式转换_Python 日期格式转换

经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式。而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换。

日期格式化符号:

*%y :两位数的年份表示(00-99)

*%Y :四位数的年份表示(000-9999)

*%m :月份(01-12)

*%d :月内中的一天(0-31)

*%H :24小时制小时数(0-23)

*%I :12小时制小时数(01-12)

*%M :分钟数(00=59)

*%S :秒(00-59)

*%a :本地简化星期名称

*%A :本地完整星期名称

*%b :本地简化的月份名称

*%B :本地完整的月份名称

*%c :本地相应的日期表示和时间表示

*%j :年内的一天(001-366)

*%p :本地A.M.或P.M.的等价符

*%U :一年中的星期数(00-53)星期天为星期的开始

*%w :星期(0-6),星期天为星期的开始

*%W :一年中的星期数(00-53)星期一为星期的开始

*%x :本地相应的日期表示

*%X :本地相应的时间表示

*%Z :当前时区的名称

*%% :%号本身

将日期从一种格式转化为另一种格式:

import time

def trans_format(time_string, from_format, to_format='%Y.%m.%d %H:%M:%S'):

time_struct = time.strptime(time_string, from_format)

times = time.strftime(to_format, time_struct)

return times

#将11 May转为mm-dd形式

time_string = "11 May"

times = trans_format(time_string, '%d %b', '%m-%d') #由于没有输入年份,所以输出的默认年份是1900

将1:00pm这种格式转为24小时制

import time

import datetime

##此方法适用于将12小时制AM/PM转化为24小时制

##12.30pm -> 12:30

##12.30am -> 00:30

##1.30pm - >13.30

def time12to24(time_string, formats):

times = time.strftime("%H.%M", time.strptime(time_string, formats)) #将时间转为hh.mm类型

ftime = datetime.datetime.strptime(times, "%H.%M") #将times字符串转为%H.%M的datetime类型

if time_string.find("am") > -1:

if times >= '12.00':

ftime = ftime + datetime.timedelta(hours=36) # +36小时而不是-12小时的原因:如果未提供年份,则默认为1900,如果-12小时,年份有可能为1899,会异常

elif time_string.find("pm") > -1:

if times < '12.00':

ftime = ftime + datetime.timedelta(hours=12)

times = ftime.strftime("%H:%M")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值