时间日期函数:常用的日期时间处理函数及用法
在开发中,经常会涉及到日期和时间处理,比如需要获取当前日期、计算两个日期之间的间隔、格式化日期等等操作。为了方便处理时间日期,许多编程语言都提供了相关的时间日期函数库,本文主要介绍常用的日期时间处理函数及用法。
1. 获取当前日期和时间
在Python中,可以使用datetime模块中的datetime类来获取当前时间。示例代码如下:
from datetime import datetime now = datetime.now() print(now) # 2021-11-10 14:38:23.295823
2. 格式化日期和时间
在实际应用中,通常需要将日期和时间转换成指定的格式。Python中可以使用strftime()函数将日期和时间按照指定的格式输出。示例代码如下:
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 2021-11-10 14:38:23
常用的格式化字符如下:
- %Y: 四位数的年份
- %m: 两位数的月份(01~12)
- %d: 两位数的日期(01~31)
- %H: 24小时制的小时数(00~23)
- %M: 两位数的分钟数(00~59)
- %S: 两位数的秒数(00~59)
3. 时间戳转换为日期时间
时间戳是指从1970年1月1日零点到当前时间所经过的秒数。在Python中,可以使用datetime模块中的fromtimestamp()函数将时间戳转换成日期和时间。示例代码如下:
from datetime import datetime timestamp = 1636535904 dt_object = datetime.fromtimestamp(timestamp) print(dt_object) # 2021-11-10 15:05:04
4. 日期时间转换为时间戳
同样,可以使用datetime模块中的timestamp()函数将日期和时间转换成时间戳。示例代码如下:
from datetime import datetime date_string = "2021-11-10 15:05:04" date_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") timestamp = datetime.timestamp(date_object) print(timestamp) # 1636536304.0
5. 计算两个日期之间的天数
在实际应用中,经常需要计算两个日期之间的天数。Python中可以使用date类的fromisoformat()函数来创建日期对象,再使用timedelta类来计算时间差,进而计算出两个日期之间的天数。示例代码如下:
from datetime import date date_str1 = '2021-10-01' date_str2 = '2021-11-10' d1 = date.fromisoformat(date_str1) d2 = date.fromisoformat(date_str2) delta = d2 - d1 print(delta.days) # 40
6. 计算两个日期之间的月数
计算两个日期之间的月数较为复杂,可以使用dateutil模块中的relativedelta函数来实现。 示例代码如下:
from datetime import date
from dateutil.relativedelta import relativedelta
date_str1 = '2021-10-01'
date_str2 = '2021-11-10'
d1 = date.fromisoformat(date_str1)
d2 = date.fromisoformat(date_str2)
delta = relativedelta(d2, d1)
print('相隔%d个月'%delta.months) # 相隔1个月
7. 获取日期的年、月、日
在Python中,可以使用date类的year、month和day属性来获取日期的年、月、日。示例代码如下:
from datetime import date now = date.today() year = now.year month = now.month day = now.day print(year, month, day) # 2021 11 10
8. 获取时间的小时、分钟、秒数
在Python中,可以使用time类的hour、minute和second属性来获取时间的小时、分钟、秒数。示例代码如下:
from datetime import datetime now = datetime.now() hour = now.hour minute = now.minute second = now.second print(hour, minute, second) # 14 38 23
总之,日期时间处理是编程中经常涉及的一个方面,了解常用的日期时间处理函数可以让我们更加方便地完成开发工作。
