python datatime模块_python的time&datetime模块

time模块

1、获取当前时间

时间戳:time.time()

输出:1708066786.208922

# 将时间戳转换为时间数组

localtime = time.localtime(time.time())

输出:time.struct_time(tm_year=2018, tm_mon=10, tm_mday=30, tm_hour=9, tm_min=42, tm_sec=20, tm_wday=4, tm_yday=227, tm_isdst=0)

格式化时间显示:time.strftime('%Y-%m-%d %H:%M:%S', localtime)

输出:'2018-10-30 09:43:04'

注:不加参数时,默认就是输出当前的时间,即 time.strftime('%Y-%m-%d %H:%M:%S')

2、自定义时间,多用于数据库查询

# 设置一个时间字符串

date_str = "2015-01-01 12:00:00"

print date_str

# 将时间字符串转换为时间数组

date_array = time.strptime(date_str,"%Y-%m-%d %H:%M:%S")

print date_array

# 将时间数组转换为时间戳

date_stamp = time.mktime(date_array)

print date_stamp

3、比较两个时间的差值

输入:

start = time.time()

time.sleep(10)

end = time.time()

print end - start

输出:

10.0014948845(秒)

重点函数

time.time()

返回当前时间的时间戳

time.localtime([secs])

将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准;未提供secs参数时,按当前时间为准

time.mktime(t)

将一个struct_time转换为时间戳,如下time.localtime接收一个时间戳返回一个struct_time,而time.mktime接收一个struct_time,返回一个时间戳

time.strftime(format[, t])

将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

t未指定,传入time.localtime()作为默认参数

datetime

1、时间戳与当前时间格式化

当前时间:print datetime.datetime.now()

输出:datetime.datetime(2018, 10, 30, 9, 38, 15, 687000),

当前时间格式化:

datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')

时间戳的格式化:

datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')

时间数组:

datetime.datetime.now().timetuple()

time.struct_time(tm_year=2018, tm_mon=10, tm_mday=30, tm_hour=9, tm_min=43, tm_sec=12, tm_wday=4, tm_yday=227, tm_isdst=-1)

获取时间戳:

time.mktime(datetime.datetime.now().timetuple())

2、时间差计算

加一天:

(datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%

d %H:%M:%S")

输出:2018-10-31 9:52:42

加一小时:

(datetime.datetime.now()+datetime.timedelta(hours=1)).strftime("%Y-%m-

%d %H:%M:%S")

加一分钟:

(datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime("%Y-%

m-%d %H:%M:%S")

同理:

减一小时:

(datetime.datetime.now()-datetime.timedelta(hours=1)).strftime("%Y-%m-

%d %H:%M:%S")

3、比较两个时间的差值

输入:

starttime = datetime.datetime.now()

endtime = datetime.datetime.now()

print (endtime - starttime).seconds

重点类

datetime.date

是指年月日构成的日期,属性:year,month,和 day。

datetime.time

独立于任何特定的日子,假设每天都有24 * 60 * 60秒(这里没有“闰秒”的概念)。即时间。属性:hour,minute,second,microsecond,和tzinfo。

datetime.datetime

日期和时间的组合。属性:year,month, day,hour,minute,second,microsecond,和tzinfo。

datetime.timedelta

表示两个时间之间的差异的持续。

你可能感兴趣的:(python,datatime模块)