python 时间处理

Time模块

获取时间

time.time() :获取当前时间的时间戳

time.strftime('%Y-%m-%d %H-%M-%S') : 获取格式化后的字符(type = str)

time.localtime(): 获取元组形式的时间

time.gmtime(): 将时间转换成UTC格式的元组格式时间

import time
print(time.time())
print(time.strftime('%Y-%m-%d %H-%M-%S'))
print(time.localtime())
print(time.gmtime())
‘’‘
1537172237.677087

2018-09-17 16-17-17

time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=16, tm_min=17, tm_sec=17, tm_wday=0, tm_yday=260, tm_isdst=0)

time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=8, tm_min=17, tm_sec=17, tm_wday=0, tm_yday=260, tm_isdst=0)
’‘’
获取时间

时间转化

time.mktime(): 将结构化(元组)时间转化为时间戳

time.strptime():将字符串时间转化为结构化(元组)时间

time.strftime():将结构化(元组)转化为字符串时间

time.asctime():将结构化(元组)转化为英文字符串时间

time.ctime():将时间戳转化为应为英文字符串时间

print(time.mktime(time.localtime()))
print(time.strptime('2014-11-11','%Y-%m-%d'))
print(time.strftime('%Y-%m-%d',time.localtime()))
print(time.asctime(time.localtime()))
print(time.ctime(time.time()))
print(type(time.ctime(time.time())))

‘’‘
1537175609.0
time.struct_time(tm_year=2014, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=315, tm_isdst=-1)
2018-09-17
Mon Sep 17 17:13:29 2018
Mon Sep 17 17:13:29 2018
<class 'str'>
’‘’
时间格式转化

Datetime模块

import datetime
#1、datetime.datetime获取当前时间
print(datetime.datetime.now())
#2、获取三天后的时间
print(datetime.datetime.now()+datetime.timedelta(+3))
#3、获取三天前的时间
print(datetime.datetime.now()+datetime.timedelta(-3))
#4、获取三个小时后的时间
print(datetime.datetime.now()+datetime.timedelta(hours=3))
#5、获取三分钟以前的时间
print(datetime.datetime.now()+datetime.timedelta(minutes = -3))

import datetime
print(datetime.datetime.now())                                   #2017-08-18 11:25:52.618873
print(datetime.datetime.now().date())                            #2017-08-18
print(datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S"))    #2017-08-18 11-25-52
获取特定时间
#1、datetime对象与str转化
# datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2018-03-09 10:08:50'

# datetime.datetime.strptime('2016-02-22',"%Y-%m-%d")
datetime.datetime(2016, 2, 22, 0, 0)

#2、datetime对象转时间元组
# datetime.datetime.now().timetuple()
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=9,

#3、时间戳转换成datetime对象
# datetime.datetime.fromtimestamp(1520561646.8906238)
datetime.datetime(2018, 3, 9, 10, 14, 6, 890624)
时间格式转换

一些函数

import time,datetime

def get_utc_scantime():
    utc_datetime = datetime.datetime.utcnow()
    utc_tuple = datetime.datetime.utctimetuple(utc_datetime)
    utc_scantime = time.mktime(utc_tuple)
    return utc_scantime
获取当前UTC时间戳
import time

def zeroPoint():
    zeroPoint = int(time.time()) -int(time.time()-time.timezone) %86400
获取当前时区0点的时间戳
原文地址:https://www.cnblogs.com/ppzhang/p/10718576.html