python基础库--datetime模块

datetime 模块是 Python 标准库中用于处理日期和时间的模块。它提供了多个类和函数,使得在 Python 中操作日期和时间变得非常方便。以下是 datetime 模块中一些常用的类和函数

获取完整的日期和时间

# 获取UTC的日期时间
print('获取utc的日期和时间:',datetime.datetime.utcnow())

# 获取当前时区的日期和时间。备注说明:today()和now()两种方法相同
print('获取当前时区的日期和时间',datetime.datetime.today())
print('获取当前时区的日期和时间',datetime.datetime.now())

 单独获取当前时间的年月日时分秒毫秒

# 获取当前时间的年月日
print('获取当前时区的年月日',datetime.date.today())
print('获取当前时区的年',datetime.date.today().year)
print('获取当前时区的月',datetime.date.today().month)
print('获取当前时区的日',datetime.date.today().day)

# 获取当前时间的时分秒毫秒
print('获取当前时区的时分秒毫秒',datetime.datetime.now().time())
print('获取当前时区的时',datetime.datetime.now().time().hour)
print('获取当前时区的分',datetime.datetime.now().time().minute)
print('获取当前时区的秒',datetime.datetime.now().time().second)
print('获取当前时区的毫秒',datetime.datetime.now().time().microsecond)

获取传入的日期和时间的年月日时分秒毫秒

# 获取传入的日期,可以获取年月日
datetime.date(2021,2,3)
print('获取年:',datetime.date(2021,2,3).year)
print('获取月:',datetime.date(2021,2,3).month)
print('获取日:',datetime.date(2021,2,3).day)

# 获取传入的时间,可以获取时分秒毫秒
print(datetime.time(11,22,33,44))
print('获取时:',datetime.time(12,22,33).hour)
print('获取分:',datetime.time(12,22,33).minute)
print('获取秒:',datetime.time(11,22,33,44).second)
print('获取毫秒:',datetime.time(11,22,33,44).microsecond)

将时间转化成时间戳

now = datetime.datetime.now()
print('将时间转化成时间戳',now.timestamp())
# 格式化时间
print('将时间格式化为指定格式',datetime.datetime.strftime(now,'%Y-%m-%d %H:%M:%S.%f'))

将时间戳转换成格式化时间

timestamp = 1700261580 # 举例一个时间戳

# 将时间戳转换为格式化时间
formatted_time = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')

print(formatted_time)

将字符串转换为datetime对象,可对其进行日期时间的计算和操作

# 创建一个字符串
date_string = "2024-03-25 10:30:00"
# 将字符串转换成datetime对象
datetime_obj = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")

print('转换前的类型:',type(date_string))
print('转换后的类型:',type(datetime_obj))

常用的格式化符号及其含义

'''这些符号可以用于 strftime() 方法来格式化日期时间对象为字符串,也可以用于 strptime() 方法来解析字符串为日期时间对象'''
# 常用的符号
%Y: 4 位数的年份,例如:2024
%y:两位数的年份表示,例如:00-99
%m: 2 位数的月份,取值范围为 01 到 12
%d: 2 位数的日期,取值范围为 01 到 31
%H: 24 小时制的小时,取值范围为 00 到 23
%I: 12 小时制的小时,取值范围为 01 到 12
%M: 分钟,取值范围为 00 到 59
%S: 秒,取值范围为 00 到 59
%A: 星期几的全名,例如:Monday
%a: 星期几的缩写,例如:Mon
%B: 月份的全名,例如:January
%b 或 %h: 月份的缩写,例如:Jan
%c:本地简化的日期 月份,如Wed Jun
%p: AM 或 PM 的标识符

%j:当前日期是本年的第几天(001-366)
%e:当前你日期是本月的第几天,取值范围为 1 到 31
%U:一年中的星期数(00-53)星期天为星期的开始
%w:星期(0-6),星期天为星期的开始
%W:一年中的星期数(00-53)星期一为星期的开始
%x:本地日期,格式:06/09/21(日/月/年)
%X:本地日期,格式:16:33:27(时:分:秒)
%%:%号本身
%g:用于格式化年份,表示两位数的年份(取值范围为 00 到 99),通常与 %V 一起使用
%V:表示 ISO 8601 标准中的周数,取值范围为 01 到 53

时间运算

# 创建两个datetime对象
start_time = datetime.datetime(2024, 3, 25, 10, 0, 0)
end_time = datetime.datetime(2024, 3, 25, 12, 3, 12)
# 计算时间间隔
time_difference = end_time - start_time
print('start_time和end_time的时间间隔:',time_difference)

# 创建一个datetime对象
current_time = datetime.datetime(2024, 3, 25, 10, 0, 0)
# 减少一段时间(比如减少一小时)
new_time = current_time - datetime.timedelta(hours=1)
# 增加一段时间
new_time2 = current_time + datetime.timedelta(weeks=3, days=1, hours=6, minutes=99, seconds=83, milliseconds=33,
                                              microseconds=23)

print('输出减少后的时间',new_time)
print('输出增加后的时间',new_time2)

将日期和时间对象合并

# 创建一个日期对象
my_date = datetime.date(2024, 3, 25)
# 创建一个时间对象
my_time = datetime.time(10, 30, 0)

# 使用 combine() 函数将日期和时间对象合并
combined_datetime = datetime.datetime.combine(my_date, my_time)
print("合并后的日期时间对象:", combined_datetime)

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值