python-时间模块库

目录

time库

 datetime库


time库

import time

print(time.time())  # 获取当前时间戳

print(time.ctime())  # 获取当前时间的并以字符串返回
print(time.asctime())  # 同ctime()方法

a  = time.gmtime()  # 获取当前格林威治时间,表示计算机可处理的时间输出,可添加时间戳参数
b = time.localtime()  # 获取本机时间,表示计算机可处理的时间输出,可添加时间戳参数
print(type(a),a)
print(type(b),b)

# 格式输出时间,strftime(tpl,ts)  tpl:时间格式,ts:计算机内部时间
formats = '%Y-%m-%d  %H:%M:%S'
print(time.strftime(formats,a))
print(time.strftime(formats,b))

# 使用时钟信号进行计时,精确到毫秒,返回cpu级别的精确时间值,通产用来做程序计时应用,比time.time()更加精确
time1 = time.perf_counter()
time2 = time.perf_counter()
print(time2-time1)
ti1 = time.time()
ti2 = time.time()
print(ti2-ti1)

# 格式化时间与时间戳的转换
print(time.mktime(b))  # struct_time时间转为时间戳
print(time.strptime('2020-10-29  17:55:03',"%Y-%m-%d %H:%M:%S"))  # 字符串时间转为struct_time时间
print(time.localtime(time.time()))  # 时间戳转为struct_time时间

# 获取系统重启后到当前的时长
print(time.monotonic())

 datetime库

datetime库是基于time库的封装库,time库更适用于时间的提取和简单操作,datetime库是更强大的时间和日期库。

datetime中四个大类

date日期对象,常用属性:year\month\day

time时间对象,常用属性:hour \ minute \ second \ millisecond

datetime日期时间对象

timedelta时间间隔

import datetime

formats = '%Y-%m-%d  %H:%M:%S'

# time类,时、分、秒、毫秒
print(datetime.time(20,5,38,9898))

# date类,年、月、日
print(datetime.date(2020,5,20))

# datetime类,年、月、日、时、分、秒、毫秒
print(datetime.datetime(2020,8,25,20,45,39,888888))
# datetime的datetime类方法
print(datetime.datetime.now())  # 获取当前时间
print(datetime.datetime.now().timestamp())  # 日期时间转化为时间戳:时间日期对象.timestamp()
print(datetime.datetime.fromtimestamp(1634231316.756675))  # 时间戳转为日期时间:datetime.fromtimestamp(时间戳)
print(datetime.datetime.now().strftime(formats))  # 日期时间对象转字符串:时间日期对象.strftime(format)
print(datetime.datetime.strptime('2020-10-29  21:49:40',formats))  # 字符串转日期时间对象:datetime.strptime(data_str,format)

# timedelta类,用来做时间运算。通过datetime.timedelta(间隔时间参数)和获的时间进行时间运算
# 参数:days=0,econds=0, microseconds=0 milliseconds=0,minutes=0, hours=0, weeks=0
print(datetime.datetime.now() + datetime.timedelta(days=20))  # 计算20天后的时间

格式化时间符号、日历时间、农历时间参考 

 计算已生存时间

def count_time():

    bri_year = input('请输入你的出生年份:')
    bri_mon = input('请输入你的出生年份:')
    bri_day = input('请输入你的出生年份:')
    bri_time = datetime.datetime.strptime('%s-%s-%s'%(bri_year,bri_mon,bri_day),'%Y-%m-%d')
    nowtime = datetime.datetime.now()
    count = nowtime - bri_time
    print('你活了%s'%count)
    
count_time()

天干地支纪年

import time
from datetime import datetime
from zhdate import ZhDate
def year():
    
    TG = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
    DZ = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
    yeartime = int(time.localtime().tm_year)
    monthtime = int(time.localtime().tm_mon)
    daytime = int(time.localtime().tm_mday)
    date_lunar = ZhDate.from_datetime(datetime(yeartime, monthtime, daytime))
    yeay_lunar = int(str(date_lunar)[2:6])
    TG_idx = (yeay_lunar - 3) % 10
    DZ_idx = (yeay_lunar - 3) % 12
    output = f'今天是公元{yeartime}年{monthtime}月{daytime}日,({TG[TG_idx-1]}{DZ[DZ_idx-1]}年){str(date_lunar)}'
    print(output)
    
year()

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值