python3中time和datetime模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3中time和datetime模块相关的知识,希望对你有一定的参考价值。

python中有以下几种方式来表示时间:

一、时间戳格式

二、格式化的时间字符串

三、元组


time

1、time.time()返回时间戳,时间戳是从1970年开始计算的

>>> time.time()

1521532904.0696607

>>> x = time.time()

>>> x/60/60/24/365       //把时间戳换算成年

48.247492071975465

>>> 1970 + 48          //从1970年至今有48年

2018


2、sleep()方法,表示睡眠

>>> time.sleep(2)


3、把时间戳转换成元组的格式

>>> time.localtime()             //localtime为本地时区,小括号内可以传递秒数

time.struct_time(tm_year=2018, tm_mon=3, tm_mday=20, tm_hour=16, tm_min=10, tm_sec=51, tm_wday=1, tm_yday=79, tm_isdst=0


>>> time.gmtime()              //gmtime为UTC时区,和本地时区相差8小时,小括号内可以传递秒数

time.struct_time(tm_year=2018, tm_mon=3, tm_mday=20, tm_hour=8, tm_min=9, tm_sec=1, tm_wday=1, tm_yday=79, tm_isdst=0)

如果要取值的话,按照以下方法做:

>>> a = time.localtime()

>>> a.tm_year

2018


4、把元组形式的时间格式转换为时间戳格式

>>> time.mktime(a)                 

1521533852.0


5、格式化输出时间字符串(也可以说把元组格式的时间转换成自定义的格式)

>>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

'2018-03-20 16:27:29'


格式化的参数列表:

%a    本地(locale)简化星期名称    
%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 - 60是星期天)    三    
%W    和%U基本相同,不同的是%W以星期一为一个星期的开始。    
%x    本地相应日期    
%X    本地相应时间    
%y    去掉世纪的年份(00 - 99)    
%Y    完整的年份    
%Z    时区的名字(如果不存在为空字符)    
%%    %’字符


6、把自定义格式的时间转换成元组格式的时间格式

>>> time.strptime("2018-03-20 16:27:29","%Y-%m-%d %H:%M:%S")

time.struct_time(tm_year=2018, tm_mon=3, tm_mday=20, tm_hour=16, tm_min=27, tm_sec=29, tm_wday=1, tm_yday=79, tm_isdst=-1)


7、返回时间格式"Fri Aug 19 11:14:16 2016"

>>> time.asctime()

'Tue Mar 20 17:02:00 2018'


8、将时间戳转换为上面格式

>>> time.ctime(4231421341234)

'Tue May 28 09:00:34 136058'


datetime

1、获取当前的时间

>>> import datetime

>>> print(datetime.datetime.now())

2018-03-20 17:09:49.296190


2、获取当前时间三天后的时间

>>> print(datetime.datetime.now() + datetime.timedelta(3))

2018-03-23 17:12:23.314952


3、获取当前时间三天前的时间

>>> print(datetime.datetime.now() + datetime.timedelta(-3))

2018-03-17 17:13:16.578827


4、获取当前时间三小时后的时间

>>> print(datetime.datetime.now() + datetime.timedelta(hours=3))     //三小时前的时间用hours=-3

2018-03-20 20:13:46.088517


5、获取当前时间三十分钟以后的时间

>>> print(datetime.datetime.now() + datetime.timedelta(minutes=30)) 

2018-03-20 17:44:21.056548


6、时间的替换

>>> c_time  = datetime.datetime.now()         //获取当前时间

>>> print(c_time)

2018-03-20 17:16:47.671422

>>> print(c_time.replace(minute=3,hour=2))      //更改小时和分钟

2018-03-20 02:03:47.671422


以上是关于python3中time和datetime模块的主要内容,如果未能解决你的问题,请参考以下文章

python3之datetime模块

第五周-第05章节-Python3.5-内置模块详解之time与datetime模块

Python3: datetime模块

Python3-datetime模块-日期与时间

python3--常用模块

python3日期格式化操作