python使用_日期时间类型及转换(time, datetime, string, timestamp)

目录

time四种类型介绍(time, datetime, string, timestamp)

1. string类型

2. datetime tuple(datetime类型)

3. time tuple(time类型)

4. timestamp(时间戳类型)

time, datetime, string, timestamp相互转换

1. string 转换为其它类型

1.1 string --> datetime obj(文本转datetime类型)

1.2 string --> time obj(文本转time类型)

1.3 string --> timestamp(文本转时间戳类型)

2. datetime obj转换为其它类型

2.1 datetimeobj --> string(datetime类型转文本)

2.2 datetime obj --> time obj(datetime类型转time类型)

2.3 datetime obj --> timestamp(datetime类型转时间戳类型)

3. time obj转换为其它

3.1 time obj --> string(time类型转化为文本)

3.2 time obj --> datetime obj(time类型转datetime类型)

3.3 time obj --> timestamp(time转时间戳)

4. timestamp时间戳转换为其它

4.1 timestamp --> datetime obj(时间戳转datetime)

4.2 timestamp --> time obj(时间戳转time时间)

4.3 timestamp --> time obj(时间戳转time时间)



time四种类型介绍(time, datetime, string, timestamp)

1. string类型

string是最简单的表示time的方式,如:

str_time1 = '2018/08/08 12:02:05'
str_time2 = '2018-08-08'

2. datetime tuple(datetime obj类型)

datetime tuple是datetime.datetime对象类型

import datetime
time_str = '2019/02/18 20:20'
datetime.datetime.strptime(time_str, '%Y/%m/%d %H:%M')  # 
# out:
# datetime.datetime(2019, 2, 18, 20, 20)

3. time tuple(time obj类型)

time tuple是time.struct_time对象类型

import time
# 获取当前时间
time.localtime()        # 
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=19, tm_min=4, tm_sec=53, tm_wday=0, tm_yday=49, tm_isdst=0)

4. timestamp(时间戳类型)

时间戳类型:自1970年1月1日(00:00:00 GMT)以来的秒数

import time
# 获取当前时间戳
time.time()       # 
# out:
# 1550488012.213949

time, datetime, string, timestamp相互转换

1. string 转换为其它类型

初始化:

1.1 string --> datetime obj(文本转datetime类型)

time_str = '2019/02/18 20:20'
datetime.datetime.strptime(time_str,'%Y/%m/%d %H:%M')
# out:
# datetime.datetime(2019, 2, 18, 20, 20)

1.2 string --> time obj(文本转time类型)

time_str = '2019/02/18 20:20'
time.strptime(time_str,'%Y/%m/%d %H:%M')
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=20, tm_min=20, tm_sec=0, tm_wday=0, tm_yday=49, tm_isdst=-1)

1.3 string --> timestamp(文本转时间戳类型)

time_str = '2019/02/18 20:20'
# 文本转time obj类型,再转时间戳
time.mktime(time.strptime(time_str,'%Y/%m/%d %H:%M'))
# out:
# 1550492400.0

2. datetime obj转换为其它类型

datetime obj转换为其它类型,用的都是datetime的函数

2.1 datetimeobj --> string(datetime类型转文本)

dt_obj = datetime.datetime.now()    # datetime.datetime(2019, 2, 18, 19, 30, 51, 910294)
# strftime函数进行转换
dt_obj.strftime('%Y-%m-%d %H:%M')
# out:
# '2019-02-18 19:34'

2.2 datetime obj --> time obj(datetime类型转time类型)

dt_obj = datetime.datetime.now()    # datetime.datetime(2019, 2, 18, 19, 30, 51, 910294)
# timetuple函数进行转换
dt_obj.timetuple()
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=19, tm_min=36, tm_sec=25, tm_wday=0, tm_yday=49, tm_isdst=-1)

2.3 datetime obj --> timestamp(datetime类型转时间戳类型)

dt_obj = datetime.datetime.now()    # datetime.datetime(2019, 2, 18, 19, 30, 51, 910294)
# 先timetuple函数进行转换,后mktime函数
time.mktime(time.strptime(time_str,'%Y/%m/%d %H:%M'))
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=19, tm_min=36, tm_sec=25, tm_wday=0, tm_yday=49, tm_isdst=-1)

3. time obj转换为其它

3.1 time obj --> string(time类型转化为文本)

time_obj = time.localtime()    # time.struct_time
# strftime函数
time.strftime( '%Y-%m-%d %H:%M:%S', time_obj)
# out:
# '2019-02-18 19:44:46'

3.2 time obj --> datetime obj(time类型转datetime类型)

time_obj = time.localtime()    # time.struct_time
# time转datetime
datetime.datetime(*time_obj[0:6])
# out:
# datetime.datetime(2019, 2, 18, 19, 44, 46)

3.3 time obj --> timestamp(time转时间戳)

time_obj = time.localtime()    # time.struct_time
# mktime函数
time.mktime(time_obj)
# out:
# 1550490827.0

4. timestamp时间戳转换为其它

4.1 timestamp --> datetime obj(时间戳转datetime)

time_stamp = 1550490827.0
# 本地时区:fromtimestamp函数
datetime.datetime.fromtimestamp(time_stamp)
# out:
# datetime.datetime(2019, 2, 18, 19, 53, 47)

# UTC标准时区:utcfromtimestamp函数
datetime.datetime.utcfromtimestamp(time_stamp)
# out:
# datetime.datetime(2019, 2, 18, 11, 53, 47)

4.2 timestamp --> time obj(时间戳转time时间)

time_stamp = 1550490827.0
# 本地时区:localtime函数
time.localtime(time_stamp)
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=19, tm_min=53, tm_sec=47, tm_wday=0, tm_yday=49, tm_isdst=0)

# UTC标准时区:gmtime函数
time.gmtime(time_stamp)
# out:
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=18, tm_hour=11, tm_min=53, tm_sec=47, tm_wday=0, tm_yday=49, tm_isdst=0)

4.3 timestamp --> time obj(时间戳转time时间)

time_stamp = 1550490827.0
# 先转time类型(标准时区改为gmtime)
time_obj = time.localtime(time_stamp)      # 本地时区
# 转为文本类型
time.strftime('%Y-%m-%d %H:%M:%S',time_obj)
# out:
# '2019-02-18 19:53:47'

 

 

参考:https://www.cnblogs.com/shhnwangjian/p/6117602.html

你可能感兴趣的:(python使用_时间处理)