python datetime模块

python datetime模块使用
datetime模块中包含了3个类,分别是date, time, datetime.
datetime.date表示日期的类,属性有year, month, day.
datetime.time表示时间的类, 属性有hour, minute, second, microsecond;
datetime.datetime表示日期时间.
1:date类:
date = datetime.date(2019, 6, 14)
print(date)
print("{0}-{1}-{2}".format(date.year, date.month. date.day))
# 打印结果:2019-06-14
# 打印结果:2019-6-14

today = datetime.date.today() # 返回当天的日期
print(today)
# 打印结果:2019-06-14

formattimestamp()传入一个时间戳,返回一个date对象,例如:

import time
import datetime
time = time.time()
today = datetime.date.fromtimestamp(time)
print(today)
# 打印结果:2019-06-14

strftime格式化,例如:

import datetime
today = datetime.date.today().strftime('%Y%m%d')
print(today)
# 打印结果:20190614

timedelta() 对天数进行操作:

import datetime
# 在当天的天数上边加上3天.
day = datetime.date.today()+datetime.timedelta(3)
print(day)
# 打印结果:2019-06-17
2:time类:

time方法主要用于时间的操作:

import datetime
formatTime = datetime.time(10,10,30).strftime("%H-%M-%S")
print(formatTime)
# 打印结果:10-10-30
3:datetime 类:

datetime大部分属性和方法都是继承于date和time类.

import datetime
formatTime = datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')
print(formatTime)
# 打印结果:2019-06-14 14:34:25
### Python `datetime` 模块使用指南 #### 1. 基础概念 Python 的 `datetime` 模块是一个用于处理日期和时间的标准库模块。它提供了一系列类来表示日期、时间和时间间隔等对象,并支持多种操作,如创建、解析、格式化以及计算日期和时间差值[^1]。 以下是该模块的主要组成部分及其功能: - **`date` 类**: 表示日期(年、月、日)。 - **`time` 类**: 表示一天中的具体时刻(小时、分钟、秒、微秒)。 - **`datetime` 类**: 同时表示日期和时间。 - **`timedelta` 类**: 表示两个日期或时间之间的差异。 - **`tzinfo` 抽象基类**: 提供时区信息的支持。 --- #### 2. 创建日期和时间对象 可以通过不同的方式创建日期和时间对象,例如通过当前时间或者指定参数。 ##### 获取当前日期和时间 可以使用 `datetime.now()` 方法获取当前的本地日期和时间。 ```python from datetime import datetime current_datetime = datetime.now() print(current_datetime) # 输出类似于:2023-09-18 14:37:56.123456 ``` 如果只需要日期部分,则可调用 `.date()` 方法提取日期对象;同样地,`.time()` 可提取时间部分[^1]。 ##### 手动创建特定日期/时间 也可以手动传入参数创建自定义的日期或时间对象。 ```python from datetime import date, time, datetime specific_date = date(2023, 9, 18) specific_time = time(14, 37, 56) specific_datetime = datetime(2023, 9, 18, 14, 37, 56) print(specific_date) # 输出:2023-09-18 print(specific_time) # 输出:14:37:56 print(specific_datetime) # 输出:2023-09-18 14:37:56 ``` --- #### 3. 格式化与解析日期字符串 经常需要将日期转换为字符串或将字符串解析为日期对象,这可通过 `strftime` 和 `strptime` 实现。 ##### 将日期对象转为字符串 (`strftime`) ```python formatted_date = current_datetime.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date) # 输出类似于:2023-09-18 14:37:56 ``` 常用格式符包括 `%Y` (四位数年份),`%m` (两位数月份),`%d` (两位数天数),`%H` (24小时制小时数)[^1]。 ##### 解析字符串为日期对象 (`strptime`) ```python parsed_datetime = datetime.strptime("2023-09-18 14:37:56", "%Y-%m-%d %H:%M:%S") print(parsed_datetime) # 输出:2023-09-18 14:37:56 ``` --- #### 4. 计算日期和时间差 利用 `timedelta` 对象可以轻松实现加减运算,从而完成日期和时间的偏移计算。 ##### 添加或减少一段时间 ```python from datetime import timedelta future_datetime = current_datetime + timedelta(days=7, hours=3) past_datetime = current_datetime - timedelta(hours=12) print(future_datetime) # 当前时间往后推一周又三小时后的结果 print(past_datetime) # 当前时间往前退十二小时的结果 ``` ##### 计算两日期间的差距 ```python diff = future_datetime - past_datetime print(diff.days) # 差距的总天数 print(diff.seconds) # 额外剩余的秒数 ``` --- #### 5. 处理不同时区的数据 虽然基本的 `datetime` 不带有时区信息,默认为 naive 时间对象,但可以通过引入外部库(如 pytz 或 zoneinfo)扩展其能力以支持 aware 时间对象[^1]。 以下展示如何设置 UTC 时区并进行转换: ```python import pytz from datetime import datetime utc_zone = pytz.utc local_zone = pytz.timezone('Asia/Shanghai') naive_now = datetime.utcnow() # Naive UTC now aware_utc_now = utc_zone.localize(naive_now) # 转换为 Aware UTC Time shanghai_time = aware_utc_now.astimezone(local_zone) print(shanghai_time) # 上海当地时间 ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值