python-常用模块-time、datetime模块

时间:2022-03-26 20:00:53

一、time模块

  在Python中,通常有这几种方式来表示时间:

  1.时间戳——一串数字(计算机认识)

  2.时间字符串 ——t=‘2018-3-28’

  3.结构化时间对象——time.struct_time

import time
#1. time对象的操作:
# 1.返回当前时间戳——给机器看
print(time.time())
# 2.返回当前时间的时间对象——给人看
print(time.localtime())
# 3.存在一个对象就里能拿到里面的值
a = time.localtime()
print(a.tm_year, a.tm_mon)
# 4.当前程序睡2秒
#time.sleep(2)

#把时间戳转成'Wed Mar 28 09:14:34 2018'的时间字符串格式,不填表示当前时间的时间字符串
print('asctime', time.asctime(time.localtime(1000000)))
#自1970年开始算过了多长时间 Wed Mar 28 09:14:34 2018的格式
print('ctime', time.ctime())


# 2.时间的转换
# 1.时间戳转换成时间对象
print(time.localtime(1122))
# 2.时间对象转时间戳
b = time.localtime()
print(time.mktime(b))
# 3.时间戳转时间字符串
c = time.localtime()
print(time.strftime('%Y-%m-%d', c))
# 4.把给定的字符串——》先时间对象——》再转时间戳
s = '2013-05-06'   # 时间字符串
s2 = time.strptime(s, '%Y-%m-%d')  # 先转成时间对象
print(time.mktime(s2))  # 时间对象再转成时间戳

#时间运算
#1.需要都转换成时间戳才能进行运算
s = time.localtime()      # 获取当前时间的时间戳
b = time.strftime('%Y-%m-%d', s)  # 转换成时间字符串
str = time.strptime(b, '%Y-%m-%d')  # 时间字符串转成时间对象
print(type(str))
mk = time.mktime(str)        # 时间对象再转换成时间戳可以进行运算了
print(mk)

 

python-常用模块-time、datetime模块python-常用模块-time、datetime模块
%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 当前时区的名称
%% %号本身
日期格式符号

 

2.时间的运算有如下的转换关系

python-常用模块-time、datetime模块

2、时间运算

#时间运算
#1.需要都转换成时间戳才能进行运算
s = time.localtime()      # 获取当前时间的时间戳
b = time.strftime('%Y-%m-%d', s)  # 转换成时间字符串
str = time.strptime(b, '%Y-%m-%d')  # 时间字符串转成时间对象
print(type(str))
mk = time.mktime(str)        # 时间对象再转换成时间戳可以进行运算了
print(mk)

 

2、datetime模块

 

# datetime 接口更直观更易调用

import datetime ,time

#1.返回当前日期类型
a = datetime.datetime.now()
print(a)
print(a.year, a.month)
#1.1从时间戳快速拿到年月日
d2 = datetime.date.fromtimestamp(time.time())
print(d2)
print(d2.timetuple())   # 要注意,这个会丢了,小时,分钟,秒

#2.时间运算——天、时、分、秒的运算
#返回到昨天——单位为天。
d3 = datetime.timedelta(1)  # 1 代表回到1天前
print(d3)
dn = datetime.datetime.now()  # 当前时间
print(dn-d3)
d4 = datetime.timedelta(8)
print(dn-d4)

#3.时间的替换
dnow = datetime.datetime.now()
dnow_year=dnow.replace(year=2016)  # year
dnow_month=dnow.replace(month=12)  # month
print(dnow,dnow_year,dnow_month)