时间和日期模块

关注公众号“轻松学编程”了解更多。

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")

后记

【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

关注我,我们一起成长~~

python时间Time模块的更多相关文章

  1. Python时间time模块介绍

    一.明确时间元组 二.测试代码#!/usr/bin/env python # -- coding: utf-8 --' """ 时间模块,time的相关操作与测试 &qu ...

  2. python时间-time模块

    time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数. 以下说明针对于 python2.7,其他版本可能有所差异. 模块提供了两个种表示时间的格式: 1.时间戳,是以秒表示 ...

  3. python:时间处理模块

    # coding=utf-8 from datetime import date, datetime import time def date_test(): print 'date.max', da ...

  4. python 时间time模块介绍和应用

    1.其中format_string 类型的时间和struct_time之间可以转换,timestamp时间戳可以和struct_time之间进行转化,但是时间戳和格式化时间是不能直接转换的. time ...

  5. Python时间calender模块介绍

    获取某月日历 Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历: #!/usr/bin/python # -*- coding: UTF-8 -*- import calend ...

  6. python时间 time模块和datetime模块

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

  7. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  8. python 时间模块time,datetime详细介绍

    模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...

  9. python模块:时间处理模块

    http://blog.csdn.net/pipisorry/article/details/53067168 常用python自带时间处理模块 python自带的时间处理模块参考[操作系统服务:ti ...

随机推荐

  1. django 3.1 序列化讲述

    序列化Django对象¶ Django的序列化框架提供了一种将Django模型"翻译"为其他格式的机制.通常,这些其他格式将基于文本,并用于通过电线发送Django数据,但是序列化 ...

  2. Tomcat 第五篇:请求处理流程(下)

    1. 请求处理流程 AprEndPoint 顺着上一篇接着聊,当一个请求发送到 Tomcat 以后,会由连接器 Connector 转送至 AprEndPoint ,在 AprEndPoint 中调用 ...

  3. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  4. matlab中axis的用法

    来源:https://ww2.mathworks.cn/help/matlab/ref/axis.html?searchHighlight=axis&s_tid=doc_srchtitle a ...

  5. SPI通信基础学习

    SPI是"Serial Peripheral Interface"的缩写,即"串行外设接口",是摩托罗拉公司推出的一种串行接口通信协议. 接线的示意图: SPI ...

  6. 面试题____pthon__002(法本_) 阿里

    1.描述一下您负责的业务中最复杂的业务(可以从业务是为了解决用户的什么问题切入).这个最复杂的业务中,最复杂的模块是什么,这个模块的主要功能详细描述一下.这个模块,采用了什么样的测试手段保障质量?2. ...

  7. C++中线程安全单例模式的正确实现方式

    为什么说DCLP不是线程安全的 DCLP(Double Checked Locking Pattern),即双检锁模式: class Foo { public: static Foo* getInst ...

  8. Martyr2项目实现——Number部分的问题求解 (1) Find Pi to Nth Digit

    Martyr2项目实现--Number部分的问题求解 (1) Find Pi to Nth Digit Find Pi to Nth Digit 问题描述: Find PI to the Nth Di ...

  9. matplotlib直方图

    import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib.font_manager import FontPro ...

  10. selenium基础 --获取内容

    from time import sleep from selenium import webdriver browser = webdriver.Chrome() url = "http: ...