Python中日期名目化长短经常见的操纵,Python 中能用许多方法处理惩罚日期和时间,转换日期名目是一个常见的成果。Python 提供了一个 time 和 calendar 模块可以用于名目化日期和时间。时距离断是以秒为单元的浮点小数。每个时间戳都以自从格林威治时间1970年01月01日00时00分00秒起颠末尾多长时间来暗示。
注: 以下代码在Python3下运行通过, Python2下未经测试, 如遇问题可以下方寄望。
1. 根基要领
获取当前日期:time.time()
获取元组形式的时间戳:time.local(time.time())
名目化日期的函数(基于元组的形式举办名目化):
(1)time.asctime(time.local(time.time()))
(2)time.strftime(format[,t])
将名目字符串转换为时间戳:
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
延迟执行:time.sleep([secs]),单元为秒
2. 名目化标记
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 当前时区的名称
%% %号自己
3. 常用用法
3.1 将字符串的时间转换为时间戳
要领:
import time t = "2017-11-24 17:30:00" #将其转换为时间数组 timeStruct = time.strptime(t, "%Y-%m-%d %H:%M:%S") #转换为时间戳: timeStamp = int(time.mktime(timeStruct)) print(timeStamp)
功效:
1511515800
3.2 时间戳转换为指命名目日期
代码:
timeStamp = 1511515800 localTime = time.localtime(timeStamp) strTime = time.strftime("%Y-%m-%d %H:%M:%S", localTime) print(strTime)
功效:
2017-11-24 17:30:00
3.3 名目切换
把-支解名目2017-11-24 17:30:00 转换为斜杠支解名目: 功效:2017/11/24 17:30:00
代码:
import time t = "2017-11-24 17:30:00" #先转换为时间数组,然后转换为其他名目 timeStruct = time.strptime(t, "%Y-%m-%d %H:%M:%S") strTime = time.strftime("%Y/%m/%d %H:%M:%S", timeStruct) print(strTime)
功效:
2017/11/24 17:30:00
3.4 获取当前时间并转换为指定日期名目
import time #获恰当前时间时间戳 now = int(time.time()) #转换为其改日期名目,如:"%Y-%m-%d %H:%M:%S" timeStruct = time.localtime(now) strTime = time.strftime("%Y-%m-%d %H:%M:%S", timeStruct) print(strTime)
功效:
2017-11-24 18:36:57
3.5 得到三天前的时间的要领
import time import datetime #先得到时间数组名目标日期 threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3)) #转换为时间戳: timeStamp = int(time.mktime(threeDayAgo.timetuple())) #转换为其他字符串名目: strTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S") print(strTime)
功效:
2017-11-21 18:42:52
注:timedelta()的参数有:days,hours,seconds,microseconds
3.6 利用datetime模块来获取当前的日期和时间
import datetime i = datetime.datetime.now() print ("当前的日期和时间是 %s" % i) print ("ISO名目标日期和时间是 %s" % i.isoformat() ) print ("当前的年份是 %s" %i.year) print ("当前的月份是 %s" %i.month) print ("当前的日期是 %s" %i.day) print ("dd/mm/yyyy 名目是 %s/%s/%s" % (i.day, i.month, i.year) ) print ("当前小时是 %s" %i.hour) print ("当前分钟是 %s" %i.minute) print ("当前秒是 %s" %i.second)