python 时间和时间段显示

两个包,最开始发现的是time包

import time
print(time.time())    #显示当前时间戳
print(time.localtime(time.time())) #显示本地时间
print(time.strftime("%Y-%m-%d/%H:%M:%S",time.localtime(time.time()))) #格式化显示本地时间

输出

1550046888.7772498
time.struct_time(tm_year=2019, tm_mon=2, tm_mday=13, tm_hour=16, tm_min=34, tm_sec=48, tm_wday=2, tm_yday=44, tm_isdst=0)
2019-02-13/16:34:48

 

然后发现了datetime

import datetime
begin=datetime.datetime.now() #起始时间
for i in range(1,100000000): #程序
    a=i
end=datetime.datetime.now() #结束时间
dur=end-begin                #所用时间
print(begin)
print(end)
print(dur)

输出

2019-02-13 16:37:06.307249
2019-02-13 16:37:11.792249
0:00:05.485000

可以看出来,如果想要显示时间,或者时间差,datetime 比较好用

如果想获取时间戳或者具体的某个参数,那就用time吧

如果想要时间显示成自己想要的格式,还是用time,datetime是偷懒的一种做法

 

如果求两个时间间隔的天数或者秒数,用dur.days和dur.seconds,这里的dur是一种时间类timedelta

 

注:#python中时间日期格式化符号

 
% y 两位数的年份表示( 00 - 99
% Y 四位数的年份表示( 000 - 9999
% m 月份( 01 - 12
% d 月内中的一天( 0 - 31
% 24 小时制小时数( 0 - 23
% 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 当前时区的名称
% %  % 号本身

转载于:https://www.cnblogs.com/mghhzAnne/p/10370636.html

以下是一个示例程序,可以使用海龟绘制七段数码管,以显示实时时间: ```python import turtle import time # 数码管的宽度和高度 WIDTH = 20 HEIGHT = 50 # 数码管的线段坐标 SEGMENTS = [ [(0, 0), (0, HEIGHT)], [(0, HEIGHT), (WIDTH, HEIGHT)], [(WIDTH, HEIGHT), (WIDTH, HEIGHT // 2)], [(WIDTH, HEIGHT // 2), (0, HEIGHT // 2)], [(0, HEIGHT // 2), (0, 0)], [(0, 0), (WIDTH, 0)], [(WIDTH, 0), (WIDTH, HEIGHT // 2)] ] # 数字的七段编码 DIGITS = { "0": [1, 1, 1, 0, 1, 1, 1], "1": [0, 0, 1, 0, 0, 1, 0], "2": [1, 0, 1, 1, 1, 0, 1], "3": [1, 0, 1, 1, 0, 1, 1], "4": [0, 1, 1, 1, 0, 1, 0], "5": [1, 1, 0, 1, 0, 1, 1], "6": [1, 1, 0, 1, 1, 1, 1], "7": [1, 0, 1, 0, 0, 1, 0], "8": [1, 1, 1, 1, 1, 1, 1], "9": [1, 1, 1, 1, 0, 1, 1] } # 绘制一个数码管 def draw_segment(x, y, on=True): pen.penup() pen.goto(x, y) pen.pendown() if on: pen.fillcolor("red") else: pen.fillcolor("gray") pen.begin_fill() for segment in SEGMENTS: pen.goto(x + segment[0][0], y + segment[0][1]) pen.goto(x + segment[1][0], y + segment[1][1]) pen.end_fill() # 绘制一个数字 def draw_digit(x, y, digit): for i, on in enumerate(DIGITS[digit]): draw_segment(x, y + (6 - i) * HEIGHT, on) # 显示时间 def show_time(): pen.clear() t = time.strftime("%H:%M:%S") for i, digit in enumerate(t): draw_digit(i * (WIDTH + 10) - ((len(t) - 1) * (WIDTH + 10)) / 2, 0, digit) screen.update() # 每秒钟更新一次时间 screen.ontimer(show_time, 1000) # 创建画布和画笔 screen = turtle.Screen() screen.setup(600, 200) pen = turtle.Turtle() pen.hideturtle() pen.speed(0) pen.penup() # 显示时间 show_time() turtle.done() ``` 在这里,`SEGMENTS`是七段数码管的线段坐标。`DIGITS`是数字的七段编码。`draw_segment()`函数绘制一个数码管,`draw_digit()`函数绘制一个数字。`show_time()`函数使用`draw_digit()`函数绘制当前时间的每个数字。`screen.ontimer(show_time, 1000)`函数调度`show_time()`函数每秒钟更新一次时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值