为了账号安全,请及时绑定邮箱和手机立即绑定

python3中time和datetime模块

标签:
Python

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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消