常用模块学习

模块

Time模块:

为了编写制定可保证的代码,大家把无数函数分组,分别放置不相同的文书里,那样,每种文件包蕴的代码就相对较少,繁多编制程序语言都采用那种协会代码的法子。在Python中,一个.py文件就称为一个模块(module)。

  Time时间在python中有三种格式:时间戳、格式化时间、struct_time(元祖形式),大家来看下二种格式具体表现格局。

选拔模块好处:

  时间戳:142112412431(秒),1966年三月一日算起,1967年五月二十二日是Unix诞生的光景。

一、进步可维护性

  格式化时间:2017-09-0九 1八:00:00。

2、可重用

  struct_time:(tm_year=2017, tm_mon=9, tm_mday=9, tm_hour=13,
tm_min=41, tm_sec=20, tm_wday=5, tm_yday=252, tm_isdst=0)

叁、防止函数名和变量争持

  大家透过help(time)l来查阅time模块的函数

模块分类

1.time()

模块分为二种:

time.time()函数输出结果为时间戳,单位为秒。

  • 内置标准模块(又称典型库)。试行help(‘modules’)查看全部Python自带模块列表
  • 其3方开源模块。可通过pip install 模块名 ,安装
  • 自定义安装

2.sleep()

相对导入

time.sleep()函数使代码延迟运维,单位秒。

 

3.gmtime()

抑或有人相会到那几个错

time.gmtime()函数将参数转化为struct_time,括号中参数填写时间戳,该函数将时间戳转化为UTC时区元祖。要是括号中参数为空,结果输出为当下UTC时间。

 

import time
time.gmtime()
print(‘-------------------------------------------------------------------------------------------------------------------’)
time.gmtime(123123124)
输出结果:
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=10, tm_hour=13, tm_min=49, tm_sec=50, tm_wday=6, tm_yday=253, tm_isdst=0)   #当前UTC时间
-------------------------------------------------------------------------------------------------------------------
time.struct_time(tm_year=1973, tm_mon=11, tm_mday=26, tm_hour=0, tm_min=52, tm_sec=4, tm_wday=0, tm_yday=330, tm_isdst=0)  #时间戳转化struct_time元祖
ValueError: attempted relative import beyond top-level package

咱俩着重发掘struct_time是多个涵盖柒个因素的元祖,若是大家须求获得当中任意七个要素,大家得以接纳以下格局。

 

import time
x=time.gmtime()
print('year:%s'%(x.tm_year))
print('mon:%s'%(x.tm_mon))
输出结果:
year:2017
mon:9

其实那八个谬误的缘故到底是1致的:在涉及到相对导入时,package所对应的公文夹必须科学的被python解释器视作package,而不是习感到常文书夹。否则由于不被看做package,无法利用package之间的嵌套关系落成python中包的相持导入。

4.localtime()

 

与gmtime()类似,localtime()括号中无法带参数,localtime()输出当前计算机所在时区的struct_time元祖。

文件夹被python解释器视作package要求满意多少个尺码:

5.mktime()

 

time.mktime()函数将struct_time元祖转化为时间戳。

  1. 文本夹中务必有__init__.py文件,该文件可以为空,但无法不存在该公文。
  2. 不可能当做顶层模块来实行该公文夹中的py文件(即不能作为主函数的入口)。
import time
x=time.localtime()
x
time.mktime(x) #struct_time转化为时间戳
time.time()  
输出结果
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=10, tm_hour=22, tm_min=4, tm_sec=56, tm_wday=6, tm_yday=253, tm_isdst=0)
1505052296.0
1505052309.3117964

 

6.strftime()

所以那么些主题材料的消除办法便是,既然您在views.py里实践了相对导入,那就绝不把views.py当作入口程序,能够由此上超级的manage.py调用views.py

time.strftime()函数语法:strftime(format[, tuple])

 

常用的format:     %Y  Year with century as a decimal
number.           年
              %m  Month as a decimal number [01,12].        
      月
              %d  Day of the month as a decimal number
[01,31].    日
              %H  Hour (24-hour clock) as a decimal number
[00,23].  小时
              %M  Minute as a decimal number
[00,59].        分钟
              %S  Second as a decimal number
[00,61].        秒

.
├── __init__.py
├── crm
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── tests.py
│   ├── views.py  #from ..proj import settings , ..返回上一级目录后和入口程序manage.py在同一个目录了,所以报错。。
├── manage.py  #from crm import views , 入口程序manage.py所在目录是根目录
└── proj
    ├── __init__.py
    ├── settings.py #from .import urls  
    ├── urls.py
    └── wsgi.py
#事实证明还是不行,报错
ValueError: attempted relative import beyond top-level package
import time
x=time.localtime()
time.strftime('%Y-%m-%d,%H:%M:%S',x)
输出结果:
'2017-09-10,22:14:05'

壹、Python中表示时间的二种情势:

输出结果为格式话的字符串,函数中format格式我们得以随意定义,第3个函数时间格式%Y-%m-%d,%H:%M:%S,首个函数时间格式%m-%d,%Y %H:%M:%S

  1. 时间戳
  2. 格式化的时间字符串
  3. 元祖(struct_time)共八个要素。由于Python的time模块达成入眼调用C库,所以种种平台分歧。 
time.strftime('%m-%d,%Y  %H:%M:%S',x)
输出结果:
'09-10,2017  22:14:05'

二、多少个概念

 7.strptime

UTC(时间协和时)亦即格林威治天文时间。世界标准时间。

time.strptime()函数输入参数字符串和格式化字符,输出struct_time元组。

时间戳(timestamp)的方式

import time
time.strptime('2017-09-11,12:12:12','%Y-%m-%d,%H:%M:%S')
输出结果:
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=11, tm_hour=12, tm_min=12, tm_sec=12, tm_wday=0, tm_yday=254, tm_isdst=-1)

元祖方式:

strptime()函数在运用时需注意的是 ‘2017-0九-1一,1二:1二:1二’和’%Y-%m-%d,%H:%M:%S’参数要挨个对应,比方‘2017-0玖-11’要对应日期格式‘%Y-%m-%d’,当中的‘-’符号也要对应,同理,时间也要相应。

time & datetime模块

8.asctime

  • time.time()
    呈现一97零年到现在系统时间的秒数

    time.time() /3600 /24/365
    48.19778262615837

  • time.localtime([secs])
    :将三个时刻戳调换为当下时区的struct_time。secs参数暗许是时下日子。

    time.localtime()
    time.struct_time(tm_year=2018, tm_mon=3, tm_mday=2, tm_hour=12, tm_min=36, tm_sec=4, tm_wday=4, tm_yday=61, tm_isdst=0)
    a = time.localtime()
    a.tm_year
    2018

    用来拼接

    ‘%s-%s-%s’ %(a.tm_year,a.tm_mon,a.tm_mday)

time.asctime()

‘2018-3-2’

把1个表示时间的元组恐怕struct_time代表为那种方式:‘Sun Jun 20 23:21:05 1993’。假如未有参数,将会将time.localtime()作为参数字传送入。

发表评论

电子邮件地址不会被公开。 必填项已用*标注