一.time

UTC/GMT:世界时间

本地时间:本地时区时间

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 当前时区的名称
  • %% %号本身

1.time.time

1 #时间戳,从1970年1月1日零时到现在所经历的秒数
2 import time
3 print(time.time())

2.time.sleep

1 #让代码停止多少秒,主要在测试时使用
2 import time
3 v1 = time.time()
4 print('hello,world')
5 time.sleep(2)
6 v2 = time.time()
7 print(v2-v1)

3.time.localtime

1 #结构化当前时间
2 import time
3 print(time.localtime())#把秒数代表的时间转化为序列化时间
4 #结果:time.struct_time(tm_year=2019,tm_mon=11,tm_mday=25,tm_hour=10,tm_min=39,tm_sec=34, tm_wday=0, tm_yday=329, tm_isdst=0)

4.time.mktime

1 import time
2 print(time.time())
3 print(time.mktime(time.localtime())) #把序列化时间转化为以秒数代表的时间
4 #结果1     1574650066.9806876
5 #结果2     1574650066.0 ##转化结构化时间

5.time.strftime

1 #格式化的字符串
2 import time
3 print(time.strftime('%Y-%m-%d')) #默认当前时间
4 print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) #默认当前时间

6.time.strptime(string[, format])

1 #将字符串格式的时间解析成 struct_time 对象。
2 import time
3 print(time.strptime('2019-11-25','%Y-%m-%d'))
4 #结果:time.struct_time(tm_year=2019, tm_mon=11, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=329, tm_isdst=-1)

 二.datetime

1.datetime.now 

 1 #返回系统当前时间
 2 from datetime import datetime
 3 print(datetime.now())#返回系统当前时间
 4 print(datetime.now().date())#返回当前系统时间中的日期
 5 print(datetime.now().time())#返回当前系统时间中的时间
 6 val = datetime.now()
 7 print(datetime.ctime(val)) #将datetime.now()类型转化为字符串
 8 #结果分别如下:
 9 2019-11-25 14:48:37.133210
10 2019-11-25
11 14:48:37.133210
12 Mon Nov 25 14:48:37 2019                              

2.strftime / strptime

1 ##### strftime #####将时间格式转化为字符串
2 from datetime import datetime
3 v1 = datetime.now().date()
4 v2 = v1.strftime('%Y-%m-%d')
5 print(v2,type(v2))
6
7 ##### strptime #####将字符串格式转化为时间格式
8 v3 = datetime.strptime('2019-11-25','%Y-%m-%d')
9 print(v3,type(v3))

3.timezone / timedelta

1 from datetime import datetime,timezone,timedelta
2 v1 = datetime.now() # 当前本地时间
3 print(v1)
4 tz = timezone(timedelta(hours=7)) # 当前东7区时间
5 v2 = datetime.now(tz)
6 print(v2)
7 v3 = datetime.utcnow() # 当前UTC时间
8 print(v3)

4.datetime时间的加减和时间戳的关系

 1 ######时间加减#########
 2 from datetime import datetime,timezone,timedelta
 3 v1 = datetime.strptime('2011-11-11','%Y-%m-%d')
 4 v2 = v1 - timedelta(days=140)
 5 print(timedelta(days=140))   #140 days, 0:00:00
 6 print(v2)        #2011-06-24 00:00:00
 7 date = v2.strftime('%Y-%m-%d')
 8 print(date)     #2011-06-24
 9
10 ######和时间戳的关系#########
11 import time
12 from datetime import datetime
13 ctime = time.time()
14 print(ctime)
15 v1 = datetime.fromtimestamp(ctime)
16 print(v1)
17
18 v1 = datetime.now()
19 val = v1.timestamp()
20 print(val)                                                                 
01-10 00:30