Python日期时间Time模块实例详解
作者:微信1257309054 发布时间:2023-11-07 07:26:34
本文实例讲述了Python日期时间Time模块。分享给大家供大家参考,具体如下:
关于时间和日期模块
python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能。
python提供了一个time和calendar模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
python的time模块下有很多函数可以转换常见的日期格式。
Time模块
1.1 名词解释
UTC :格林威治天文时间,世界标准时间,在中国为UTC-8
DST:夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时.
1.2 时间的表示形式
1.时间戳
以整数或浮点型表示的是一个秒为单位的时间间隔,这个时间的基础值1970.1.1的零点开始算起
2.元组格式
采用python的数据结构表示,这个元组有9个整型内容,分别表示不同含义
year month day hours minutes seconds weekday Julia day flag[1 夏令时 -1 根据当前时间判断 0 正常表示]
3.格式化字符串
%Y 完整年份
时间格式
'''
%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-60)
%U 一年中的星期数。(00-53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0-6 0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00-99)
%Y 完整的年份
%z 时区的名字
%% '%'字符
'''
import time
time1 = time.time()
lt = time.localtime(time1)
st = time.strftime('''a: %a |A: %A |b: %b |B: %B |c: %c |d: %d
H: %H |I: %I |j: %j |m: %m |M: %M |p: %p
S: %S |U: %U |w: %w |W: %W |x: %x |X: %X
y: %y |Y: %Y |z: %z |%% ''',lt)
print(st)
输出:
a: Thu |A: Thursday |b: Apr |B: April |c: Thu Apr 12 17:15:19 2018 |d: 12
H: 17 |I: 05 |j: 102 |m: 04 |M: 15 |p: PM
S: 19 |U: 14 |w: 4 |W: 15 |x: 04/12/18 |X: 17:15:19
y: 18 |Y: 2018 |Z: +0800 |%
获取当前时间
1、time.clock()
以浮点数计算秒数,返回程序运行的时间。
print(time.clock())
time.sleep(2)
print(time.clock())
输出:
0.0
2.0007889054974255
print(time.clock())
输出:
4.665319322446344e-07
用处:可用来计算一段程序运行的时间。
import time
start = time.clock()
for cock in range(5,101,5): # 公鸡
for hen in range(3,101 - cock,3): #母鸡
for chick in range(1,101 - cock - hen): #小鸡
if cock // 5 + hen // 3 + chick * 3 == 100 and cock + hen + chick == 100:
pass
end = time.clock()
time2 = end - start
print("方案二所花时间",time2)
输出:
方案二所花时间 0.0041665966868768296
2、time.sleep(seconds)
程序休眠seconds再执行下面的语句。单位s
3、time.time() 时间戳
返回一个浮点型数据
格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。
time1 = time.time()
print(time1)
输出:
1523427779.9672592
4、time.gmtime(时间戳)
把时间戳转成格林尼治时间,返回一个时间元组
time1 = time.time()
gm = time.gmtime(time1)
print(gm)
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=6, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)
5、time.localtime(时间戳)
把时间戳转成本地时间,返回一个时间元组。(如中国时区,加上8个小时)
time1 = time.time()
lm = time.localtime(time1)
print(lm)
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)
6、time.mktime(时间元组)
把时间元组转成时间戳,返回一个浮点数。
lm2 = time.localtime(1523328000)
time2 = time.mktime(lm2)
print(time2)
输出:
1523328000.0
7、time.asctime(时间元组)
将时间元组转成一个字符串。
lm2 = time.localtime(1523328000)
st = time.asctime(lm2)
print(st)
输出:
Tue Apr 10 10:40:00 2018
8、time.ctime(时间戳)
将时间戳转成一个字符串。
time1 = time.time()
ct = time.ctime(time1)
print(ct)
输出:
Wed Apr 11 15:18:35 2018
9、time.strftime(format,时间元组)
将时间元组转成指定格式的字符串。
time1 = time.time()
lm = time.localtime(time1)
sct = time.strftime("%Y-%m-%d %X",lm)
print(sct)
输出:
2018-04-11 15:18:35
10、time.strptime(字符串,format)
将指定格式的字符串转成时间元组。
strp = time.strptime('2018-04-10 11:12:57',"%Y-%m-%d %X")
print(strp)
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=10, tm_hour=11, tm_min=12, tm_sec=57, tm_wday=1, tm_yday=100, tm_isdst=-1)
11、获取凌晨零点到23:59的时间
now = time.time()
midnight = now - (now % 86400) + time.timezone
pre_midnight = midnight - 86400
now_midnight = midnight - 1
start_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(pre_midnight)),
"%Y-%m-%d %H:%M:%S")
end_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now_midnight)),
"%Y-%m-%d %H:%M:%S")
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/lm_is_dc/article/details/80099899
猜你喜欢
- 本文来给大家介绍一个php版淘宝网查询商品接口代码的例子,下面要改成你的信息的在代码后面都有说明了,同时sdk包我们也要官方下载。下载SDK
- asp之家注:在网页设计或编程中如何以最方便的方法来处理图片的宽高,以达到最佳的显示效果,这个问题相信很多网页制作人员都遇到过,最麻烦最费时
- 作为微软推出的网页与数据库解决方案,ASP由于有微软得天独厚的操作系统等技术后盾支持,因此得到了迅速的发展,并且正受到越来越多的欢迎,在目前
- 废话不多说,我就直接上代码让大家看看吧!#!/usr/bin/env python# -*- coding: utf-8 -*-# @Fil
- Javascript中的eval函数让我们可以很方便地操作一系列变量(a1,a2,a3,……)。自从VBScript 5.0之后,我们也可以
- [sql] -- ===================【创建存储过程】===================== USE [Message
- 一、使用loadVariables 一个例子简单的描述了如何通过GET方法向服务器端的ASP发送请求: _root. pushAc
- 如何用JAVASCRIPT格式化数字成货币那种表示法?,比如说 34585962.00显示 为 34,585,962.00<scrip
- 今天在 ajaxian 上看到一篇文章,名为 Five Ajax Anti-pattern ,觉得讲得比较有道理,现粗略翻译一下,加一些自己
- #BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE:
- 翻译说明:这是Solid State Group网站上的一篇很友好的文章,解决了我在设计中遇到的很多问题,故在此我翻译其文,并对原作者表示非
- 在C#中,程序采用了的驱动采用了事件驱动而不是原来的消息驱动,虽然.net框架提供的事件已经十分丰富,
- 无法远程登入MySQL数据库的几种解决办法方法一:尝试用MySQL Adminstrator GUI Tool登入MySQL Server,
- JavaScript组件打包模式js组件通常带着css image ,但这样使用起来可能会有些小麻烦,为了让组件足够的solo,有了把css
- 在这篇文章(不敢妄称教程,最多称之为学习笔记)里,我会从头开始实现客户端模板的效果。不过你不要期望能够在这里找到可以直接拿去使用直接复用灵活
- 这个例子可作为一个模式,在你需要的时候套用。<!DOCTYPE HTML PUBLIC &q
- 头疼的挂马事件申请了个免费空间弄了个小站空间还可以二年多了挺稳定的只是从今年年初开始网页老莫名奇妙的被人挂马仔细检查了网站 不存在什么漏洞应
- 我其实是同一天看到Robert Treat几人整理的”Mysql 迁移到Oracle前需要了解的50件事“与Baron Schwartz的”
- 从PJBlog 2.7开始,验证码的功能就很好很强大了,但是同时也给手工输入带来了不小的麻烦——经常输错。之前我写了一个《自己写的一个PJB
- < % Response.CharSet="gb2312" tblna