1.time模块

 

import time  #python中最基本的时间模块

 

time.time()   #时间戳  (1970年1月1日00:00:00后经过的浮点秒数)

 

time.localtime(time.time())  #时间元组

time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=38, tm_sec=59, tm_wday=2, tm_yday=361, tm_isdst=0)

 

#返回的元组的内容:

#索引值(index)    属性(attribute)             值(value)

#0                tm_year(年)                例如:2016

#1               tm_mon(月)                1~12

#2               tm_mday(日)                1~31

#3               tm_hour(时)                0~23

#4               tm_min(分)                0~59

#5               tm_sec(秒)                0~60

#6               tm_wday(星期几)           0~6(0代表星期一)

#7               tm_yday(一年中的第几天)         1~366

#8               tm_isdst(是否为夏令时)     0,1,-1(-1代表夏令时)

 

格式化日期

 

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 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

 

time模块,常用内置函数

 

#time.time( )

返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

 

#time.localtime([secs])

接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。

 

#time.asctime([tupletime])

接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

 

#time.strftime(fmt[,tupletime])

接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。

 

#time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

根据fmt的格式,把一个时间字符串,解析为时间元组。

 

#time.mktime(tupletime)

接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。

 

#time.sleep(secs)

推迟调用线程的运行,secs指秒数。

 

example:

 

import  time

 

t = time.time()

print(t)  #返回当前时间戳

 

# 时间元祖  localtime()

print(time.localtime() )  # 默认返回当前 时间元组

print(time.localtime(1115587738 ) )

 

#  格式化

## 1. asctime()   # 默认时间格式。 输入时间元组

print(time.asctime( time.localtime() ) )

 

## 2. 自定义时间格式   strftime

# 2108-1-8   20:45:36   多少天  多少周

# 不能使用中文

t = time.strftime('%Y-%m-%d  %H:%M:%S %j %U',time.localtime() )

print( t )

 

 

#### strptime(), 时间格式的字符串 , 转换成时间

 

s = '2017-5-6  20:16:32 '

time_tu =  time.strptime(s,"%Y-%m-%d  %H:%M:%S ")

print(time.strftime('%j',time_tu) )

print( time_tu )

 

print( time.mktime(time_tu ))

 

### sleep()

for i in range(20):

      print(i)

      if i ==10:

          print('正在休息')

          # time.sleep(5)

 

获取日历

import calendar

cal = calendar.month(2018, 1)

print("以下输出2018年1月份的日历:")

print(cal)

 


  2.json模块

 

JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,一般用于前后台,数据的交互。

 

导入 import json

 

print(json.__all__)  

常用的方法:dumps、loads、dump、load

 

在使用之前 我们要了解两个名字 序列化和反序列化

序列化: 把一个Python对象转化成json字符串

反序列化: 把json字符串转化成python

 

dumps :indent实现缩进, sort_keys 实现排序

 

python对象

json对象

dict

object

list, tuple

array

str

string

int, float

number

None

null

True/False

true/fase

 

example:

 

'''

JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,

一般用于前后台,数据的交互。

'''

##  key - value

 

import json

 

user = {

       'name' :'jianeng',

        'age' : 18,

        'f' : 1.2,

        'language':('python','java'),

        'li':[1,2,3,4 ],

        'kong': None,

        't' : True,

        'f' : False

}

 

# print(json.__all__ )

 

## dumps   loads

# dumps    序列化    python  ->  json

 

a = json.dumps(user,indent=2,sort_keys=True )   # dumps -> json 格式的字符串

print( a )

print(type(a) )   #json 格式的字符串

print( user)

 

# loads   反序列化

b = json.loads( a )

print(type(b) )     # dict

print(b)

 

##  dump    load     针对文件用的

with open('temp.json','w+' ) as f:

    json.dump(user,f,indent=2,sort_keys=True )    # 序列化

 

# f = open('temp.json','r+' )

with open('temp.json','r+' ) as f:

       data = json.load(f)     # 反序列化f

print(data )

print(type(data) )

print(data['name'] )