time和datetime时间戳

时间:2021-10-10 22:04:13

参考网址,写的很棒:

 

http://www.open-open.com/lib/view/open1479363382807.html

time模块

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

说明:一般有两种表示时间的方式:
       1.时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的

       2.以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同

 

The tuple items are:
year (including century, e.g.
1998)
month (
1-12)
day (
1-31)
hours (0
-23)
minutes (0
-59)
seconds (0
-59)
weekday (0
-6, Monday is 0)
Julian day (day
in the year, 1-366)
DST (Daylight Savings Time) flag (
-1, 0 or 1)

 

1   time()  -- 返回时间戳  
2 sleep() -- 延迟运行单位为s
3 gmtime() -- 转换时间戳为时间元组(时间元组)
4 localtime() -- 转换时间戳为本地时间对象
5 asctime() -- 将时间对象转换为字符串
6 ctime() -- 将使劲按戳转换为字符串
7 mktime() -- 将本地时间转换为时间戳
8 strftime() -- 将时间对象转换为规范性字符串

常用的格式代码:

 

 1     %Y Year with century as a decimal number.  
2 %m Month as a decimal number [01,12].
3 %d Day of the month as a decimal number [01,31].
4 %H Hour (24-hour clock) as a decimal number [00,23].
5 %M Minute as a decimal number [00,59].
6 %S Second as a decimal number [00,61].
7 striptime() --将时间字符串根据指定的格式化字符转换成数组形式的时间
8
9 print(time.time()) ---返回当前时间戳
10 print(time.ctime()) ---返回当前时间
11 print(time.ctime(time.time()-86400)) --将时间戳转换为字符串
12 print(time.localtime(time.time()-86400)) --本地时间
13 print(time.mktime(time.localtime())) --与time.localtime()功能相反,将struct_time格式转回成时间戳格式
14 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())) -- 将struct_time格式转换指定d字符串格式
15 print(time.strptime("2016-01-28","%Y-%m-%d")) --将字符串格式转换成struct_time格式
16 time.sleep(5) 休眠5s

 

datetime 模块

常用的有:

import datetime

print(datetime.datetime.now())           # 2016-05-17 15:46:40.784376 获取当前的日期和时间
print(datetime.datetime.now()+datetime.timedelta(days=10))           # 2016-05-27 15:47:45.702528 将当前的时间向后推迟10天
print(datetime.date.today())           # 2016-05-17 获取当前的日期
print(datetime.datetime.utcnow())           # 2016-05-17 08:23:41.150628 获取格林威治时间

print(datetime.datetime.now().timetuple())                # time.struct_time(tm_year=2016 ... tm_hour=16,...)获取当前一个包含当前时间的结构体
print(datetime.datetime.now().timestamp())                # 1463473711.057878 获取当前的时间戳
print((datetime.datetime.fromtimestamp(1463473711.057878)))          # 2016-05-17 16:28:31.057878 将时间戳转换成日期和时间
print(datetime.datetime.strptime('2016-05-17 16:28:31','%Y-%m-%d %H:%M:%S')) #2016-05-17 16:28:31 str转换为datetime
print(datetime.datetime.now().strftime('%D, %m %d %H:%M')) #05/23/16, 05 23 10:10  datetime转换为str

 

定义的类有:

 1 datetime.date   --表示日期的类。常用的属性有year,month,day  
2 datetime.time ---表示时间的类。床用的属性有hour,minute,second,microsecond
3 datetime.datetime --表示日期时间
4 datetime.timedalta --表示时间间隔,即两个时间点之间的长度
5 date类
6 date类表示日期,构造函数如下:
7 datetime.date(year,month,day);
8 year(1-9999)
9 month(1-12)
10 day(1-31)
11 date.today()--返回一个表示当前本地日期的date对象
12 date.fromtimestamp(timestamp) -- 根据给定的时间戳,返回一个date对象
13 date.year() -- 取给定时间的年
14 date.month() -- 取时间对象的月
15 date.day() -- 取给定时间的日
16 date.replace() -- 生成一个新的日期对象,用参数指定的年,月, 日代替原有对象中的属性
17 date.timetuple() -- 返回日期对应的time.struct_time对象
18 date.weekday() -- 返回week,Monday==0...Sunday == 6
19 date.isoweekday() -- 返回weekday,Monday == 1...Sunday == 7
20 date.ctime() -- 返回给定时间的字符串格式
print(datetime.date.today().year)  -- 取时间对象的年  
print(datetime.date.today().month) --取时间对象的月
print(datetime.date.today().day) --取时间对象的日
print(datetime.date.today().replace(2010,6,12)) --生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性
print(datetime.date.today().timetuple()) 返回给定时间的时间元组/对象
print(datetime.date.today().weekday()) -- 返回weekday,从0开始
print(datetime.date.today().ctime) --返回给定时间的字符串格格式


.tiem类
time类表示时间,由时,分,秒以及微秒组成
time.min()
--最小表示时间
time.max()
--最大表示时间
time.resolution()
-- 微秒
案例:
最大时间
print(datetime.time.max)
最小时间
print(datetime.time.min)
时间最小单位,微秒
print(datetime.time.resolution)
 1     ·datetime类  
2 datetime是date与time的结合体,包括date与time的所有信息
3 datetime.max() --最大值
4 datetime.min() --最小值
5 datetime.resolution --datetime最小单位
6 datetime.today() -- 返回一个表示当前本地时间
7 datetime.fromtimestamp() --根据给定的时间戳,返回一个datetime对象
8 datetime.year() --取年
9 datetime.month() --取月
10 datetime.day() -- 取日期
11 datetim.replace() - 替换时间
12 datetime.strptime() --将字符串转换成日期格式
13 datetime.time() -- 取给定日期时间的时间
 1 案例:  
2
3
4 print(datetime.datetime.max) #datetime最大值
5
6 print(datetime.datetime.min) #datetime最小值
7
8 print(datetime.datetime.resolution) #datetime最小单位
9
10 print(datetime.datetime.today()) #返回一个表示当前本地时间
11
12 print(datetime.datetime.fromtimestamp(time.time()))#根据给定的时间戮,返回一个datetime对象
13
14 print(datetime.datetime.now().year) #取时间对象的年
15
16 print(datetime.datetime.now().month) #取时间对象的月
17
18 print(datetime.datetime.now().day) #取时间对象的日
19
20 print(datetime.datetime.now().replace(2010,6,12))#生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性
21
22 print(datetime.datetime.now().timetuple()) #返回给定时间的时间元组/对象
23
24 print(datetime.datetime.now().weekday()) #返回weekday,从0开始
25
26 print(datetime.datetime.now().isoweekday()) #返回weekday,从1开始
27
28 print(datetime.datetime.now().ctime()) #返回给定时间的字符串格式
29
30 print(datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M"))#将字符串转换成日期格式
31
32 print(datetime.datetime.now().time()) #取给定日期时间的时间
33
34 print(datetime.datetime.now() + datetime.timedelta(days=-5))#获取5日前时间