Python与时间相关的time、datetime模块的使用

一、前言

学习python处理时间相关的模块time、datetime

二、time模块

首先来看下time模块

通过help(time)来看一下time模块下都有哪些函数:

    time() -- return current time in seconds since the Epoch as a float
    clock() -- return CPU time since process start as a float
    sleep() -- delay for a number of seconds given as a float
    gmtime() -- convert seconds since Epoch to UTC tuple
    localtime() -- convert seconds since Epoch to local time tuple
    asctime() -- convert time tuple to string
    ctime() -- convert time in seconds to string
    mktime() -- convert local time tuple to seconds since Epoch
    strftime() -- convert time tuple to string according to format specification
    strptime() -- parse string to time tuple according to format specification
    tzset() -- change the local timezone

time表现方式有三种:

1、时间戳(timestamp)的方式:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回的是float类型,返回时间戳的函数有time()、clock()

2、元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出这种方式元组中的几个元素:

3、格式化字符串(format time)方式:格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。比如“2018-5-11”

下面就说一下常用的一些函数:

1、time.sleep()

time.sleep(secs):线程推迟指定的时间运行。单位为秒。

2、time.time()

获取当前时间戳

>>>time.time()
1525954582.579378
3、time.clock()

计算cpu计算所执行的时间

>>>time.sleep(3)
print(time.clock())
0.061649
4、time.gmtime()
>>>a=time.gmtime
print(a)
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=10, tm_hour=6, tm_min=53, tm_sec=30, tm_wday=3, tm_yday=130, tm_isdst=0)

gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。,总共9个参数,其含义如上面那个表格图所示

5、time.localtime()
>>>a=time.localtime()
print(a)
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=11, tm_hour=9, tm_min=22, tm_sec=14, tm_wday=4, tm_yday=131, tm_isdst=0)

将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。,总共9个参数,其含义如上面那个表格图所示

6、time.asctime([t]):

把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Jun 20 23:21:05 1993‘。如果没有参数,将会将time.localtime()作为参数传入。

>>>time.asctime()
‘Thu May 5 14:55:43 2011‘

将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。,总共9个参数,其含义如上面那个表格图所示

7、time.ctime()
>>>time.ctime(3600)
print(a)
Thu Jan  1 09:00:00 1970

将时间戳转为这个形式的‘Sun Jun 20 23:21:05 1993‘格式化时间。如果没有参数,将会将time.localtime()作为参数传入。

8、time.strftime(format[, t])
>>>local_time = time.localtime()
print(time.strftime(‘%Y-%m-%d  %H:%M:%S‘, local_time))
2018-05-11  09:38:46

把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。

9、time.strptime(string[, format])
>>>a=time.localtime()
print(a)
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=11, tm_hour=9, tm_min=22, tm_sec=14, tm_wday=4, tm_yday=131, tm_isdst=0)

把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。

他们之间转换关系如下图:

时间格式化:

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

三、datetime模块

datetime内置对象关系如下:

分为date/time/timedelta/tzinfo 四个类,其中date、tzinfo又分别有各自的子类datetim/timezone

1、datetime.datetime.now() 获取当前时间字符串
>>>datetime.datetime.now()
2018-05-11 10:05:29.397237
2、datetime.datetime.now().timestamp() 获取当前时间时间戳
>>>datetime.datetime.now().timestamp()
1526004460.797517
3、datetime.datetime.today() 获取当前时间年月日
>>>datetime.datetime.today()
2018-05-11
4、其他一些方法
In [42]: #设置一个时间对象

In [43]: d=datetime(2016,7,21,22,23,15)

In [44]: #自定义格式显示

In [45]: d.strftime(‘%x %X‘)
Out[45]: ‘07/21/16 22:23:15‘

In [46]: #显示英文格式

In [47]: d.ctime()
Out[47]: ‘Thu Jul 21 22:23:15 2016‘

In [48]: #显示日历(年,年中第几周,周几)

In [49]: d.isocalendar()
Out[49]: (2016, 29, 4)

datetime子模块单位时间间隔:datetime.resolution=1微秒。

date子模块的时间间隔为1天 date.resolution=1天

时间间隔乘以一个数,表示间隔几天

>>>from datetime import date

#现在时间是

date.today()
datetime.date(2018, 5, 11)

#100天以前的日期是

result=date.today()-date.resolution*100
print(result)

输出结果:2018-01-31

原文地址:https://www.cnblogs.com/suxianglun/p/9023270.html

时间: 2024-08-04 19:32:55

Python与时间相关的time、datetime模块的使用的相关文章

PYTHON基础学习日志DAY5-time &datetime模块

在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同.UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时.时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算

PYTHON学习0044:函数---datetime模块详解--2019-8-11

1.datetime.datetime.now():返回当前的datetime的日期类型:2.datetime.date.fromtimestamp():吧一个时间戳转为datetime日期类型:3.时间运算:datetime.datetime.now()+datetime.timedelta(4):datetime.timedelta()括号里默认单位为"天"4.时间替换:用replace函数: 原文地址:https://blog.51cto.com/13543767/2428482

基于Python的datetime模块和time模块源码阅读分析

目录 1 前言  2 datetime.pyi源码分步解析 2.1 头部定义源码分析 2.2 tzinfo类源码分析 2.3 date类源码分析 2.4 time类源码分析 2.5 timedelta类源码分析 2.6 datetime类源码分析 2.7 格式化字符串 3 time模块time.pyi源码解析 1 前言 最近工作需求上对于datetime模块中的方法调用比较多,有时还要返回指定的格式,以及大小比较等情况.发现使用Python自带的datetime模块可以很好地实现相关需求,但是对

python之路5:常用模块

模块简介 time & datetime模块 random os sys shutil json & pickle shelve xml处理 configparser hashlib subprocess logging模块 re正则表达式 模块简介: 模块,是用一堆代码实现了某个功能的代码集合,n个.py文件组成的代码集合就称为模块. 模块分为三种: 自定义模块(自己手动编写的python代码文件) 内置标准模块(又称标准库) 开源模块 导入模块有以下几种方法: import modul

10Python全栈之路系列之深浅拷贝标准库系列之datetime模块

Python标准库系列之datetime模块 Fast implementation of the datetime type. 功能 说明 datetime.date.today() 打印输出当前的系统日期 datetime.date.fromtimestamp(time.time()) 将时间戳转成日期格式 datetime.datetime.now() 打印当前的系统时间 current_time.replace(2016,5,12) 返回当前时间,但指定的值将被替换 datetime.d

python——从datetime模块探索python的数据架构

问题出现于我试图向自建网页中加入实时时间开始. 我之前已经知道python中有有关事件和日期的模块datetime.以下导入datetime并作实验. >>> import datetime>>> type(datetime) <class 'module'> 可知datetime属于module(模块)类.此外,类似的时间相关模块还有time和calendar. There are two kinds of date and time objects: “

Python之日期与时间处理模块(date和datetime)

本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时间 用日期命名一个日志文件的名称 记录或展示某文章的发布或修改时间 其他 Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库

Python学习总结14:时间模块datetime &amp; time &amp; calendar (一)

Python中的常用于处理时间主要有3个模块datetime模块.time模块和calendar模块. 一.time模块 1. 在Python中表示时间的方式 1)时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(time.time())”,返回的是float类型.返回时间戳方式的函数主要有time(),clock()等. 2)格式化的时间字符串 3)元组(struct_time):共有9个元素,返回struct_

Python学习总结15:时间模块datetime &amp; time &amp; calendar (二)

二 .datetime模块  1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR,表示datetime所能表示的最大年份,MAXYEAR = 9999. 2. datetime中的常见类 datetime模块定义了下面这几个类: •datetime.date:表示日期的类.常用的属性有year, month, day:     •datetime.time:表示时间的类.常用的