科学计算库(一)time

导入模块

import time


不常用但会看到的几个方法
time.altzone() 返回格林威治西部的夏令时地区的偏移秒数。往东是负数

time.asctime([time_tuple]) 接收时间元组,返回可读形式的日期字符串,不传参数默认是当前时间
格式:Tue Aug 20 09:54:50 2019
time.ctime([time_stamp]) 接收时间戳,返回可读形式的日期字符串,不传参数默认是当前时间
格式:Tue Aug 20 09:54:50 2019

获取时间元组

time.gmtime([time_stamp]) 接收时间戳,返回格林威治时间元祖
time.localtime([time_stamp]) 接收时间戳,返回本地时间元祖
        tm_wday:weekday一个星期的第几天,从0开始,0-6
        tm_isdst: 是否是夏令时

时间戳

# 从1970年1月1号 0点0分开始到现在的秒数
time.time() 获取时间戳,返回float,小数点后6位
time.mktime([time_tuple]) 接收时间元组,返回时间戳

睡眠

time.sleep(secs) 计算机进程休息睡眠secs秒钟。

 

格式化

time.strftime(fmt[,time_tuple]) 传入格式化字符串和时间元组,返回格式化字符串
time.strptime(time_str,fmt) 传入时间字符串,返回时间元组
fmt写法,时间格式:

格式含义

%a

本地(local)简化星期名称

%A

本地完整星期名称

%b

本地简化月份名称

%B

本地完整月份名称

%c

本地相应的日期和时间表示

%d

一个月中的第几天(01 - 31)

%H

一天中的第几个小时(24小时制,00 - 23)

%I

第几个小时(12小时制,01 - 12)

%j

一年中的第几天(001 - 366)

%m

月份(01 - 12)

%M

分钟数(00 - 59)

%p

本地am或者pm的相应符

%S

秒(01 - 61)

%U

一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。

%w

一个星期中的第几天(0 - 6,0是星期天)

%W

和%U基本相同,不同的是%W以星期一为一个星期的开始。

%x

本地相应日期

%X

本地相应时间

%y

去掉世纪的年份(00 - 99)

%Y

完整的年份

%Z

时区的名字(如果不存在为空字符)

%%

‘%’字符


日期格式化常用格式:

"%Y-%m-%d %H:%M:%S"

进程运行时间


time.process_time() 进程从开始运行到此的耗时
 

示例:

import time

# 获取时间元组
tu_time1=time.localtime()
print(tu_time1)
# 1、可以用asctime格式化时间元组
print(time.asctime(tu_time1))
# 2、也可以自定义字符串输出格式
print(time.strftime("%Y-%m-%d %H:%M:%S"))

# 输出
# time.struct_time(tm_year=2019, tm_mon=8, tm_mday=20, tm_hour=17, tm_min=21, tm_sec=37, tm_wday=1, tm_yday=232, tm_isdst=0)
# Tue Aug 20 17:21:37 2019
# 2019-08-20 17:21:37

时间转换图解,时间戳--时间元祖--时间字符串的相互转换关系,如下图所示:

练习:

1.将字符串的时间"2017-10-10 23:40:00"转换为时间戳和时间元组

import time
str="2017-10-10 23:40:00"
# 转换成时间元组
time_tup1=time.strptime(str,"%Y-%m-%d %H:%M:%S")
print(time_tup1)
# 时间元组转换成时间戳
time_stamp1=time.mktime(time_tup1)
print(time_stamp1)

2.字符串格式更改。如提time = "2017-10-10 23:40:00",想改为 time= "2017/10/10 23:40:00"

time2="2017-10-10 23:40:00"
# 先转成时间元组
time_tup2=time.strptime(time2,"%Y-%m-%d %H:%M:%S")
print(time_tup2)
# 再把时间元组格式化成字符串
time_result=time.strftime("%Y/%m/%d %H:%M:%S",time_tup2)
print(time_result)

3.获取当前时间戳转换为指定格式日期

time3=time.time()
print(time3)
time_tup3=time.localtime(time3)
print(time_tup3)
time_result=time.strftime("%Y-%m-%d %H:%M:%S",time_tup3)
print(time_result)

4.获得三天前的时间

time4=time.time()
time3DayBefore=time4-(3*24*60*60)
time_tup4=time.localtime(time3DayBefore)
print(time_tup4)
time_result=time.strftime("%Y-%m-%d %H:%M:%S",time_tup4)
print(time_result)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值