欢迎访问宙启技术站
智能推送

时间日期函数:常用的日期时间处理函数及用法

发布时间:2023-05-31 19:48:54

在开发中,经常会涉及到日期和时间处理,比如需要获取当前日期、计算两个日期之间的间隔、格式化日期等等操作。为了方便处理时间日期,许多编程语言都提供了相关的时间日期函数库,本文主要介绍常用的日期时间处理函数及用法。

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

总之,日期时间处理是编程中经常涉及的一个方面,了解常用的日期时间处理函数可以让我们更加方便地完成开发工作。