练习40(时间模块)

练习40

# 时间模块
import time
# 三种格式
    # 时间戳时间 浮点数 以秒为单位
        # 1970.1.1 0:0:0 英国伦敦时间
        # 1970.1.1 8:0:0 东8区
    # 结构化时间 元组
        #
    # 格式化时间 srt数据类型的 '2018年9月4日 9时10分20秒'
# print(time.time())
# 1608626595.512983

# struce_time = time.localtime()
# print(struce_time)
#
# fmt1 = time.strftime('%H:%M:%S')
# fmt2 = time.strftime('%Y-%m-%d')
# fmt3 = time.strftime('%y-%m-%d')
# fmt4 = time.strftime('%c')
# print(fmt1)
# print(fmt2)
# print(fmt3)
# print(fmt4)


# struct_time 结构化时间
# Format string 格式化时间
# Timestamp 时间戳

# struct_time --> Timestamp mktime
# struct_time <-- Timestamp localtime gmtime(伦敦时间)

# struct_time --> Format string strftime
# struct_time <-- Format string strptime


# 2018年8月8日 格式化时间
# 时间戳时间 时间戳时间
# str_time = '2018-8-8'
# struct_time = time.strptime(str_time,'%Y-%m-%d')
# print(struct_time)
# time_stamp = time.mktime(struct_time)
# print(time_stamp) 1533657600.0

# time_stamp = 1500000000
# struct_time = time.localtime(time_stamp)
# fmt_time = time.strftime('%Y-%m-%d %H:%M:%S',struct_time)
# print(fmt_time)

# 写函数,计算本月1号的时间戳时间
# 通过我拿到的这个时间,能迅速的知道我现在所在时间的年 月
# def get_timestamp():
#     fmt_time = time.strftime('%Y-%m-1')
#     struct_time = time.strptime(fmt_time,'%Y-%m-%d')
#     res = time.mktime(struct_time)
#     return res
# ret = get_timestamp()
# print(ret)

# 计算时间差的功能
# 如果是年开头,只显示年
# 如果是月开头,只显示月
# 如果是日开头,只显示日
# 如果是时开头,只显示时
# 如果是分开头,只显示分
# 如果是秒开头,只显示秒

# 2018-9-3 22:48:20 和 2018-9-4 10:15:20

def get_timestamp(old_time,new_time):
    old_struct_time = time.strptime(old_time, '%Y-%m-%d %H:%M:%S')
    new_struct_time = time.strptime(new_time, '%Y-%m-%d %H:%M:%S')
    old_time_stamp = time.mktime(old_struct_time)
    new_time_stamp = time.mktime(new_struct_time)


    time_stamp_difference = new_time_stamp - old_time_stamp
    struct_time_difference = time.localtime(time_stamp_difference)
    fmt_time_difference_lst = time.strftime('%Y-%m-%d-%H-%M-%S',struct_time_difference).split('-')
    if int(fmt_time_difference_lst[0]) > 1970:
        return f'{int(fmt_time_difference_lst[0])-1970}年前'
    elif int(fmt_time_difference_lst[1]) > 1:
        return f'{int(fmt_time_difference_lst[1]) - 1}个月前'
    elif int(fmt_time_difference_lst[2]) > 1:
        return f'{int(fmt_time_difference_lst[2]) - 1}天前'
    elif int(fmt_time_difference_lst[3]) > 8:
        return f'{int(fmt_time_difference_lst[3]) - 8}小时前'
    elif int(fmt_time_difference_lst[4]) > 0:
        return f'{int(fmt_time_difference_lst[4])}分钟前'
    elif int(fmt_time_difference_lst[5]) > 0:
        return f'{int(fmt_time_difference_lst[5])}秒前'

new_time = '2018-10-5 10:15:20'
old_time = '2018-9-4 09:13:19'

timestamp = get_timestamp(old_time,new_time)
print(timestamp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值