Believe in yourself.

Python3学习笔记(十五):常用时间模块time和datetime

一、time模块

1、时间戳

time.time() :从1970-01-01到至今的秒数

import time
print(time.time())


1529238004.2784646

2、等待

time.sleep(seconds):等待second秒

3、计算CPU的执行时间

time.clock():统计CPU工作的时间

import time
time.sleep(3)
print(time.clock())

7.331230492053862e-07

4、打印UTC时间

time.gmtime(seconds=None):把时间戳转化成相对于1970-01-01的UTC结构化时间,不传seconds参数时,默认打印当时的UTC结构化时间

import time
print(time.gmtime()) #不传参数时,默认打印当前的UTC结构化时间

time.struct_time(tm_year=2018, tm_mon=6, tm_mday=17, tm_hour=12, tm_min=50, tm_sec=34, tm_wday=6, tm_yday=168, tm_isdst=0)


print(time.gmtime(6454899855))  #传入参数时,把时间戳转化成UTC结构化时间

time.struct_time(tm_year=2174, tm_mon=7, tm_mday=19, tm_hour=11, tm_min=44, tm_sec=15, tm_wday=1, tm_yday=200, tm_isdst=0)

5、打印本地时间

time.localtime(seconds=None):把时间戳转化成相对于1970-01-01的本地时间,不传seconds参数时,默认打印当时的本地时间

import time
print(time.localtime())    #不传参数时,默认打印当前本地时间

time.struct_time(tm_year=2018, tm_mon=6, tm_mday=17, tm_hour=20, tm_min=53, tm_sec=41, tm_wday=6, tm_yday=168, tm_isdst=0)


print(time.localtime(6454899855))  #传入参数,把时间戳转化成本地时间

time.struct_time(tm_year=2174, tm_mon=7, tm_mday=19, tm_hour=19, tm_min=44, tm_sec=15, tm_wday=1, tm_yday=200, tm_isdst=0)

6、自定义时间格式

strftime(format, p_tuple=None):按照格式化字符把struct_time元组格式时间转化成自定义时间格式,不传p_tuple参数时,默认转化当前时间

Commonly used format codes:
  %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].
  %z  Time zone offset from UTC.
  %a  Locale's abbreviated weekday name.
  %A  Locale's full weekday name.
  %b  Locale's abbreviated month name.
  %B  Locale's full month name.
  %c  Locale's appropriate date and time representation.
  %I  Hour (12-hour clock) as a decimal number [01,12].
  %p  Locale's equivalent of either AM or PM.

 

import time
print(time.strftime('%Y-%m-%d  %H:%M:%S'))  #不传第二个参数p_tuple时默认把当前时间转化成自定义格式时间

2018-06-17  21:09:51


struct_time = time.gmtime()
print(time.strftime('%Y-%m-%d  %H:%M:%S', struct_time))  #传入第二个参数p_tuple时,按照传入参数的时间转化成自定义格式时间

2018-06-17  13:21:26

 

7、把字符串格式时间转化成元组格式时间

strptime(string, format):按照格式把时间转化成元组格式时间

import time
struct_time = time.gmtime()
print(time.strptime('2018-06-17  13:21:26','%Y-%m-%d  %H:%M:%S'))


time.struct_time(tm_year=2018, tm_mon=6, tm_mday=17, tm_hour=13, tm_min=21, tm_sec=26, tm_wday=6, tm_yday=168, tm_isdst=-1)

8、获取元组结构化时间中的单个时间参数值

如果我需要知道今天是今年中的第几天?有没有快速办法获取呢?

import time
struct_time = time.localtime()
print(struct_time.tm_yday)


168

可以根据这种方式获取元组结构化时间中的任意参数值

9、把时间戳转化成固定格式字符串时间

ctime(seconds=None): 把时间戳转化成固定格式的字符串时间,不传seconds参数时,默认把当前时间转化成固定格式字符串时间

import time
print(time.ctime())   #不传seconds时,默认把当前时间转化成固定格式的字符串时间


Sun Jun 17 21:44:03 2018


import time
print(time.ctime(65324623)) #传入时间戳,把时间戳转化成固定格式的字符串时间


Thu Jan 27 09:43:43 1972

10、把元组形式的结构化时间转化成时间戳

mktime(p_tuple):把元组形式的结构化时间转化成时间戳

import time
print(time.mktime(time.localtime()))


1529243313.0

二、datetime模块

1、打印格式化时间

datetime.datetime.now():打印格式化时间,这种格式大多用于日志打印中

import datetime
print(datetime.datetime.now())


2018-06-17 21:53:19.883778

 

posted @ 2018-06-17 21:55  eastonliu  阅读(1140)  评论(0编辑  收藏  举报