Python模块--time&datetime

一、Python中时间的表示方式

1、时间戳  如 1552623413.043036

2、格式化的时间字符串  如 2015-12-02

3、struct_time  是一个元组 共有九个元素

二、关于时间的几个定义

1、UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。

2、DST(Daylight Saving Time)即夏令时

3、时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。time.time(),返回当前时间的时间戳,是一个float类型。

4、元组(struct_time):返回struct_time的函数主要有gmtime(),localtime(),strptime()。struct_time元组9个元素:

索引(Index)    属性(Attribute)              值(Values)
0                 tm_year(年)                 比如2011
1                 tm_mon(月)                   1 - 12
2                 tm_mday(日)                 1 - 31
3                 tm_hour(时)                 0 - 23
4                 tm_min(分)                  0 - 59
5                 tm_sec(秒)                  0 - 61
6                 tm_wday(weekday)            0 - 6(0表示周日)
7                 tm_yday(一年中的第几天)       1 - 366
8                 tm_isdst(是否是夏令时)        默认为-1

例:

import time

print(time.localtime())
print(time.localtime().tm_yday)  # 查看今天是一年中的第几天 或 time.localtime()[7]

# 结果:
  time.struct_time(tm_year=2019, tm_mon=3, tm_mday=15, tm_hour=22, tm_min=24, tm_sec=58, tm_wday=4, tm_yday=74, tm_isdst=0)
  74

三、time模块

import time

1、time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。

import time

print(time.localtime(345678234))
# time.struct_time(tm_year=1980, tm_mon=12, tm_mday=15, tm_hour=5, tm_min=43, tm_sec=54, tm_wday=0, tm_yday=350, tm_isdst=0)
print(time.localtime())
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=15, tm_hour=22, tm_min=31, tm_sec=50, tm_wday=4, tm_yday=74, tm_isdst=0)

2、time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

import time

print(time.gmtime(345678234))
# time.struct_time(tm_year=1980, tm_mon=12, tm_mday=14, tm_hour=21, tm_min=43, tm_sec=54, tm_wday=6, tm_yday=349, tm_isdst=0)
print(time.gmtime())
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=15, tm_hour=14, tm_min=34, tm_sec=55, tm_wday=4, tm_yday=74, tm_isdst=0)

3、time.time():返回当前时间的时间戳。

4、time.mktime(t):将一个struct_time转化为时间戳。

import time

print(time.mktime(time.localtime()))  # 1552660909.0

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

6、time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Oct 1 12:04:38 2017‘。如果没有参数,将会将time.localtime()作为参数传入。

import time

print(time.asctime())  # Fri Mar 15 22:45:22 2019

7、time.ctime([secs]):把一个时间戳转化为‘Sun Oct 1 12:04:38 2017‘的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。

import time

print(time.ctime(3738383884))  # Fri Jun 18 15:58:04 2088
print(time.ctime())  # 没有参数的话就默认将time.time()当做参数传入  Fri Mar 15 22:48:09 2019

8、time.strftime(format[, t]):把一个代表时间的元组或者struct_time( 如time.localtime()和time.gmtime() )转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。

import time

print(time.strftime("%Y-%m-%d %X", time.localtime()))  # 2019-03-15 22:52:11

9、time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time,与strftime()是逆操作。

import time

print(time.strptime("2017-01-01", "%Y-%m-%d"))
# time.struct_time(tm_year=2017, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=1, tm_isdst=-1)

10、字符串格式对应表

%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 当前时区的名称
%% %号本身 

11、时间格式转换关系

四、datetime模块

1、datetime.date:表示日期的类。常用的属性有year, month, day;

import datetime

print(datetime.date(2012, 3, 4).year)  # 2012
print(datetime.date(2012, 3, 4).month)  # 3
print(datetime.date(2012, 3, 4).day)  # 4

2、datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;

import datetime

print(datetime.time(22, 34, 56).hour)  # 22时
print(datetime.time(22, 34, 56).minute)  # 34分
print(datetime.time(22, 34, 56).second)  # 56秒
print(datetime.time(22, 34, 56, 23).microsecond)  # 23微秒

3、datetime.datetime:表示日期时间。

import datetime

print(datetime.datetime(2018, 2, 23, 22, 34, 56).year)  # 2018年
print(datetime.datetime(2018, 2, 23, 22, 34, 56).month)  # 2月
print(datetime.datetime(2018, 2, 23, 22, 34, 56).day)  # 23日
print(datetime.datetime(2018, 2, 23, 22, 34, 56).hour)  # 22时
print(datetime.datetime(2018, 2, 23, 22, 34, 56).minute)  # 34分
print(datetime.datetime(2018, 2, 23, 22, 34, 56).second)  # 56秒
print(datetime.datetime(2018, 2, 23, 22, 34, 56, 23).microsecond)  # 23微秒

4、datetime.timedelta:表示时间间隔,即两个时间点之间的长度。

import datetime

print(datetime.datetime(2017, 10, 1, 12, 53, 11, 821218))  # 2017-10-01 12:53:11.821218

print(datetime.datetime.now() + datetime.timedelta(4))  # 当前时间+4天  2019-03-19 23:58:23.998880

print(datetime.datetime.now() + datetime.timedelta(hours=4))  # 当前时间+4小时

5、datetime.tzinfo:与时区有关的相关信息。

6、相关示例

import datetime

d = datetime.datetime.now()  # 返回当前的datetime日期类型
print(d)  # 2019-03-15 23:52:06.701376
print(d.timestamp())  # 1552665126.701376
print(d.today())  # 2019-03-15 23:52:06.701459
print(d.year)  # 2019
print(d.timetuple())  # time.struct_time(tm_year=2019, tm_mon=3, tm_mday=15, tm_hour=23, tm_min=52, tm_sec=6, tm_wday=4, tm_yday=74, tm_isdst=-1)

time1 = datetime.datetime(2016, 12, 20)
time2 = datetime.datetime(2016, 11, 2)
print((time1-time2).days)  # 计算天数差值
import datetime

d = datetime.date.fromtimestamp(544788566)  # 把一个时间戳转为datetime日期类型
print(d)

print(datetime.date.today().replace(year=2018, month=4, day=1))  # 替换日期  2018-04-01

原文地址:https://www.cnblogs.com/yanlin-10/p/10540302.html

时间: 2024-11-09 10:20:31

Python模块--time&datetime的相关文章

Python模块学习 ---- datetime

Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接口则更直观.更容易调用.今天就来讲讲datetime模块. datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最小.最大年份.其中,MINYEAR = 1,MAXYEAR = 9999.(

python模块time&datetime&json & picle&14.logging等

本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个

进阶第九课 Python模块之datetime

datetime模块是date和time两个模块的集合.在datetime模块中有2个常量:MAXYEAR的值为9999,MINYEAR的值为1. datetime模块定义了5个类,分别是 一.datetime.date:表示日期的类. date类有三个参数,datetime.date(year,month,day),返回year-month-day 方法: 1.datetime.date.ctime(),返回格式如 Sun Apr 16 00:00:00 2017 2.datetime.dat

Python中的time模块与datetime模块用法总结

http://www.jb51.net/article/87721.htm time模块time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间 ? 1 2 3 4 5 6 7 8 import time # time.struct_time(tm_year=2015, tm_mon=4, tm_mday=24,           tm_hour=14, tm_min=17, tm_sec=26,          

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python之时间模块time &amp; datetime &amp; calendar

一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %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 本地完整星期名

python中的datetime模块

Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接口则更直观.更容易调用.今天就来讲讲datetime模块. datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最小.最大年份.其中,MINYEAR = 1,MAXYEAR = 9999.(

(转)python time模块和datetime模块详解

python time模块和datetime模块详解 原文:http://www.cnblogs.com/tkqasn/p/6001134.html 一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共有九个元素组. c.format time 格式化时间,已格式化的结构使时间更具可读性.包括自定义格式和固定格式. 1.时间格式转换图: 2.主要ti

Python常用模块——time&amp;datetime模块

Python常用模块--time&datetime模块 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不做介绍). 我们写程序时对时间的处理可以归为以下3种: 1.时间的显示:在屏幕显示,记录日志等. 2.时间的转换:比如把字符串格式的日期转换成Python中的日期类型. 3.时间的运算:计算两个日期间的差值等. 一.time模块 在Python中,通常有以下3种方式来表示时间: 1.时间戳(time