zoukankan      html  css  js  c++  java
  • python 时间模块 time datetime calendar

    学而时习之,不亦悦乎。经常的复习下之前的知识,不仅加深、巩固记忆,还能在复习的同时,查漏补缺。 
    今天针对python库自带的三个时间模块进行复习。。。。

    time模块

    time模块提供各种操作时间的函数

    由于time模块是python自带的,所以只需要简单的import time就ok了

    获取时间戳

    time.time()函数可以用来获取当前时间的时间戳。即自1970-01-01开始的格林威治标准时间 
    这里需要解释两点 
    1.why 1970-01-01?

    这个时间是以UNIX诞生时间,unix认为1970年1月1日0点是时间纪 元,其他编程语言的时间戳也是这么使用的 
    格林威治时间即为0时区时间,中学地理肯定学过本初子午线吧,哈哈…. 
    好了返回正题

    t=time.time()
    print(t)# 1519818341.5785086# 简单的计算一下year=t / (24*60*60*365) +1970# 2018.1931234645647 # 得到当前年份1234567

    获取时间元组

    使用localtime函数即可得到一个元组结构化的时间格式

    t1=time.localtime()
    print(t1)# time.struct_time(tm_year=2018, tm_mon=2, tm_mday=28, tm_hour=19, tm_min=45, tm_sec= 41, tm_yday=59 tm_isdst=0)123

    如果你给定一个时间戳,也可以通过localtime将时间戳转化为时间元组随便写一个时间 

    tt=time.localtime(1513810287.1759758)

    格式化时间

    1.将时间戳格式化

    result=time.ctime(t)
    print(result)# Wed Feb 28 19:49:33 2018123

    2.将时间元组格式化

    result=time.asctime(time.localtime())
    print(result)12

    3.格式化日期字符串

    result=time.strftime(“%Y-%m-%d %H:%M:%S”,time.localtime())
    print(result)12

    时间元组格式化为时间戳

    t3=time.mktime(time.localtime())

    时间字符串转化为

    pt=time.strtime(‘18-02-28 19:53:23’,’%y-%m-%d %H:%M:%S’)
    print(pt)12

    耗时计算

    start=time.clock()for i in range(1000):
        print(i)
    end=time.colock() 
    print(end-start)12345

    时间等待

    time.sleep(3) 

    日历模块

    打印文本日历,算是时间模块的一种,但是坦白说,貌似没什么用….

    import calendar
    print(calendar.month(2018-2))12

    datetime模块

    datetime模块包含三个子类,datetime date time。它主要用来处理时间,使用前先倒入datetime模块 

    import datetime

    显示当前时间

    print(datetime.datetime.now())orprint(datetime.datetime.today())123

    那么显示当前时间的年、月、日等改怎么操作呢?很简单

    print(datetime.datetime.now().year)
    print(datetime.datetime.now().day)12

    当前时间tuple

    dateime.datetime.now().timetuple()

    显示当前日期

    datetime.datetime.now().date()

    计算N天后的时间

    today=datetime.datetime.today()
    future=today+datetime.timedelta(days=7)
    print(future)123

    计算时间差

    first=datetime.datetime(2017,9,9,12,1,03)
    second=datetime.datetime(2018,2,28,19,20,11)
    delta=second-first
    print(delta)# 172 days ,7:19:08print(delta.tatal_seconds())14887148.01234567

    时间转化

    datetime转str:

    datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    str格式转化为datetime格式: 

    datetime.datetime.strptime("2018-02-20 11:50:20" , "%Y-%m-%d %H:%M:%S") 

    时间戳转datetime

    datetime.datetime.fromtimestamp(1519826222)# datetime.datetime(2018,2,28,21,57,2)

    来源:华为云社区  作者:清风Python

  • 相关阅读:
    查询快递单号-宅急送快递接口
    对路由转发的浅显理解
    对SpringCloud Zuul 的基本使用总结
    对SpringCloud Hystrix的使用个人总结
    对SpringBoot开箱即用使用方法的浅显理解
    对SpringCloud Hystrix服务降级的浅显理解
    金玉良言
    2种运行时织入的动态代理模式原理和调用流程比较
    记录手动启动Oracle数据库的方式
    基于SpringBoot搭建一个带数据库访问的WEB项目(记录所需的依赖,配置,驱动安装等注意事项)
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165744.html
Copyright © 2011-2022 走看看