time
# 主要包含处理年月日时分秒对应的时间(重点是时分秒)
import time
# 专门处理年月日
import datetime
if __name__ == '__main__':
# 1.获取当前时间
'''
时间戳:从格林威治时间(1970年1月1日0时0分0秒)到当前时间的时间差(单位:秒)
1.存时间以时间戳的形式去存,可以姐合适呢个内存空间(一个浮点数的内存是4-8个字节,字符串一个字符2个字节)
2.自带时间加密的功能(加密更方便)
'''
t1 = time.time()
print(t1, type(t1))
# 2.将时间戳转换成struct_time
'''
localtime(seconds)
参数second:a.不传参,就是当前时间对应的时间戳转换成struct_time
b.传参,将指定的时间转换成struct_time
'''
t2 = time.localtime()
print(t2)
'''
tm_year:年
tm_mon:月
tm_mday:日
tm_hour时
tm_min:分
tm_sec:秒
tm_wday:星期(0 - 6 → 周一 - 周天)
tm_yday:是当前的第几天
tm_isdst:是否是夏令时
'''
print(t2.tm_year, t2.tm_mon, t2.tm_mday)
# 将时间戳转换成struct_time
struct1 = time.localtime(0)
print(struct1)
# 将struct_time转换为时间戳
'''2018-8-31 23:30:40'''
'''
mktime(结构时间)
'''
print('-----------------------------------------------------------')
srtc = time.strptime('2018-8-31 23:30:40', '%Y-%m-%d %H:%M:%S')
time1 = time.mktime(srtc)
time1 += 3600
print(time.localtime(time1))
# 3.时间格式的转换
'''
strftime(时间格式,时间)
将时间以指定的格式转换成字符串
* %y 两位数的年份表示(00-99)
* %Y 四位数的年份表示(000-9999)
* %m 月份(01-12)
* %d 月内中的一天(0-31)
* %H 24小时制小时数(0-23)
* %h 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 当前时区的名称
* %% %号本身
'''
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(time_str)
'''
strptime(需要转换的字符串,时间格式)
将时间字符串转换成相应的struct_time
'''
struct_time = time.strptime('2018-9-9-', '%Y-%m-%d-')
print(struct_time)
# 4.延迟
'''
sleep(秒)
可以让线程阻塞x秒
'''
time.sleep(1)
datetime
import datetime
if __name__ == '__main__':
pass
'''1.日期类(date) -- 只能表示年月日'''
# 最小日期
print(datetime.date.min)
# 最大日期
print(datetime.date.max)
# 最小单位
print(datetime.date.resolution)
'''2.类方法'''
today = datetime.date.today()
print(today)
# 时间戳转换为日期
today2 = datetime.date.fromtimestamp(0)
print(today2)
date1 = datetime.date.fromordinal(1000)
print(date1)
'''3.对象属性'''
# 年月日属性
max1 = datetime.date.max
print(max1.year)
print(max1.month)
print(max1.day)
'''4.对象方法'''
# 1.获取星期(1-7 周一-周天)
print(today.isoweekday())
# 2.将日期转换为指定格式 Thu Aug 9 00:00:00 2018
print(today.ctime())
# 3.将指定日期转换成指定格式字符串日期
print(today.strftime('%Y-%m+%d aaa%w'))
# 4.将日期转换成struct_time
print(today.timetuple())
'''4.创建日期对象'''
print(datetime.date(2017, 9, 10))
# ========datetime类=========
'''1.类方法'''
# 1. 将时间戳转换成datetime
print(datetime.datetime.fromtimestamp(0))
# 2. now(时区): 获取当前时间
print(datetime.datetime.now())
now_dt = datetime.datetime.now()
# 3. 将时间字符串按指定的格式转换成datetime对象
print(datetime.datetime.strptime('2018-8-10 10:30:40', '%Y-%m-%d %H:%M:%S'))
'''2.对象方法'''
# 1.将datatime对象转换成struct_time
print(now_dt.timetuple())
# 2.获取datatime中时分秒的部分
print(now_dt.time())
# 3.获取datetime中日期的部分
print(now_dt.date())
# 4.将datetime转换成时间戳
print(now_dt.timestamp())
# ============3.timedelta方法==========
# 日期加一天
print(today + datetime.timedelta(days=100))
print(now_dt + datetime.timedelta(days=1))
# 日期减两天
print(today + datetime.timedelta(days=-2))
print(now_dt + datetime.timedelta(days=-2))
# 时间增加50分钟
print(now_dt + datetime.timedelta(minutes=50))
# 时间增加1000毫秒
print(now_dt + datetime.timedelta(microseconds=1000))
网友评论