Python之时间和日期使用小结
在Python中,时间和日期的操作是非常常见和重要的部分。本文将介绍一些Python中常用的时间和日期操作,包括时间类型、时间和日期格式化、时间戳转换,以及一些常见的日期计算操作。
时间类型
Python内置了几种时间类型,包括:
- time.time(): 时间戳,表示自1970年1月1日0时0分0秒以来的秒数;
- time.struct_time: 时间元组,包含9个元素,分别表示年、月、日、时、分、秒等;
- datetime.datetime: 日期时间,包含年、月、日、时、分、秒和毫秒。
时间和日期格式化
时间和日期类型在不同的场景下需要不同的格式进行展示和存储。Python中提供了一些字符串格式化函数,可以将时间和日期类型转换成指定格式的字符串,也可以将字符串转换成对应的时间和日期类型。
时间和日期格式化函数
Python提供了以下常用的时间和日期格式化函数:
- time.strftime(format[, t]): 将时间元组或者时间戳转换成指定格式的字符串;
- time.strptime(string[, format]): 将字符串解析成时间元组;
- datetime.strftime(format): 将日期时间对象转换成指定格式的字符串;
- datetime.strptime(string[, format]): 将字符串解析成日期时间对象。
时间和日期格式化示例
以下示例演示了如何使用时间和日期格式化函数进行格式化展示和解析:
import time
import datetime
# time类型时间戳转换为字符串格式
timestamp = time.time()
str_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(str_time)
# 字符串时间解析为time类型时间戳
str_time = '2020-12-01 12:59:59'
struct_time = time.strptime(str_time, '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(struct_time)
print(timestamp)
# datetime类型时间转换为字符串格式
dt = datetime.datetime.now()
str_time = dt.strftime('%Y-%m-%d %H:%M:%S')
print(str_time)
# 字符串时间解析为datetime类型
str_time = '2020-12-01 12:59:59'
dt = datetime.datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(dt)
时间戳转换
在不同的系统和场景中,时间的表达方式可能会有所不同,其中时间戳是比较常见的表达方式。因此,将时间戳转换为时间和日期类型是常见的操作。
时间戳转换函数
Python提供了以下时间戳转换函数:
- time.localtime([seconds]): 将时间戳转换成时间元组,秒数是可选参数;
- time.gmtime([seconds]): 功能和time.localtime类似,只是将时间转换为格林威治标准时间;
- datetime.fromtimestamp(timestamp[, tz]): 将时间戳转换成日期时间对象;
- datetime.utcfromtimestamp(timestamp): 将时间戳转换成UTC日期时间对象。
时间戳转换示例
以下示例演示了如何使用时间戳转换函数进行转换:
import time
import datetime
# 时间戳转换为本地时间元组
timestamp = time.time()
local_time = time.localtime(timestamp)
print(local_time)
# 时间戳转换为UTC时间元组
utc_time = time.gmtime(timestamp)
print(utc_time)
# 时间戳转换为本地日期时间
dt = datetime.datetime.fromtimestamp(timestamp)
print(dt)
# 时间戳转换为UTC日期时间
utc_dt = datetime.datetime.utcfromtimestamp(timestamp)
print(utc_dt)
常见的日期计算操作
在应用程序中,日期计算是常见的操作之一。Python提供了一些内置的日期计算函数,可以方便地进行日期加减和计算两个日期之间的差值。
日期计算函数
Python提供了以下常用的日期计算函数:
- datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0): 日期时间差;
- datetime.date(year, month, day): 返回一个日期对象;
- datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, fold=0): 返回一个时间对象。
日期计算示例
以下示例演示了如何进行日期加减和计算两个日期之间的差值:
import datetime
# 计算两个日期之差
date1 = datetime.date(2020, 12, 1)
date2 = datetime.date(2021, 1, 1)
delta = date2 - date1
print(delta.days)
# 计算日期加减
dt = datetime.datetime.now()
delta = datetime.timedelta(days=1)
dt2 = dt + delta
print(dt2)
以上就是Python中的时间和日期使用小结。在开发过程中,熟练掌握这些操作可以提高开发效率并减少出错的几率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之时间和日期使用小结 - Python技术站