Python处理时间日期的方法总结
Python作为一种高级编程语言,自然而然地具备了处理时间日期的能力,而这种能力又是日常开发中常见的需求之一。本文将总结Python中常用的时间日期处理方法,包括以下内容:
1. 时间戳转时间日期
2. 获取当前时间日期
3. 格式化时间日期字符串
4. 时间日期加减计算
5. 时间日期差计算
6. 判断时间日期大小
7. 时间日期比较
8. 时间日期与时间戳的转换
1. 时间戳转时间日期
在Unix、Linux等环境下,一般用整数表示时间戳,即从1970年1月1日0时0分0秒到当前时间的秒数。Python中可通过datetime模块将时间戳转换为时间日期。
import datetime timestamp = 1606550400 # 时间戳——2020年11月28日0时0分0秒 dt = datetime.datetime.fromtimestamp(timestamp) print(dt) # 输出:2020-11-28 00:00:00
2. 获取当前时间日期
Python中可通过datetime模块获取当前时间日期,包括年、月、日、时、分、秒等信息。
import datetime now = datetime.datetime.now() print(now) # 输出:2021-08-16 15:30:00.123456
3. 格式化时间日期字符串
当需要将时间日期转换为特定格式的字符串时,需要使用strftime()方法将时间日期按指定格式输出。
import datetime
dt = datetime.datetime(2020, 11, 28, 12, 30, 0)
str_dt = dt.strftime('%Y-%m-%d %H:%M:%S')
print(str_dt) # 输出:2020-11-28 12:30:00
其中%Y表示四位数的年份,%m表示两位数的月份,%d表示两位数的日期,%H表示两位数的小时,%M表示两位数的分钟,%S表示两位数的秒数。
4. 时间日期加减计算
当需要对时间日期进行加减计算时,可通过timedelta()方法实现。该方法接受一个days参数、一个seconds参数、一个microseconds参数和一个milliseconds参数,返回一个时间差对象。
import datetime dt = datetime.datetime(2020, 11, 28, 12, 30, 0) delta = datetime.timedelta(days=1) new_dt = dt + delta print(new_dt) # 输出:2020-11-29 12:30:00
其中days参数表示加减的天数,可为负数;seconds参数表示加减的秒数,可为负数;microseconds参数表示加减的微秒数,可为负数。
5. 时间日期差计算
当需要计算两个时间日期之间的差值时,可通过timedelta()方法实现,该方法接受两个参数,分别为两个时间日期之间的时间差。
import datetime dt1 = datetime.datetime(2020, 11, 28, 12, 30, 0) dt2 = datetime.datetime(2020, 11, 29, 14, 0, 0) delta = dt2 - dt1 print(delta) # 输出:1 day, 1:30:00
其中day表示天数,hour表示小时数,minute表示分钟数,second表示秒数。
6. 判断时间日期大小
当需要判断两个时间日期的前后顺序时,可直接使用>、<、==符号进行比较。
import datetime
dt1 = datetime.datetime(2020, 11, 28, 12, 30, 0)
dt2 = datetime.datetime(2020, 11, 29, 14, 0, 0)
if dt1 < dt2:
print('dt1在dt2之前')
else:
print('dt1在dt2之后')
7. 时间日期比较
当需要只比较两个时间日期的日期、时间、年份等部分时,可通过date()、time()、year()等方法实现。
import datetime
dt1 = datetime.datetime(2020, 11, 28, 12, 30, 0)
dt2 = datetime.datetime(2020, 11, 29, 14, 0, 0)
if dt1.time() < dt2.time():
print('dt1的时间在dt2之前')
else:
print('dt1的时间在dt2之后')
其中date()方法返回日期部分,time()方法返回时间部分,year()方法返回年份。
8. 时间日期与时间戳的转换
当需要将时间日期和时间戳相互转换时,可通过timestamp()方法和fromtimestamp()方法实现。
import datetime now = datetime.datetime.now() timestamp = now.timestamp() # 获取当前时间戳 new_now = datetime.datetime.fromtimestamp(timestamp) # 根据时间戳获取时间日期 print(now) print(new_now)
总结
Python中处理时间日期的方法很多,本文只列举了常见的方法。在实际开发中,还需要灵活运用这些方法,根据具体需求选择恰当的方法完成相应的时间日期处理任务。
