本文主要是介绍pythom模块datetime,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、datetime模块常用方法
1. 导入模块
import datetime
2. 获取当前日期和时间
- 获取当前日期和时间:
now = datetime.datetime.now() print(now) # 例如:2024-08-18 14:35:10.123456
- 获取当前日期:
today = datetime.date.today() print(today) # 例如:2024-08-18
- 获取当前时间:
current_time = datetime.datetime.now().time() print(current_time) # 例如:14:35:10.123456
3. 创建特定日期和时间
- 创建特定日期:
date = datetime.date(2024, 8, 18) print(date) # 2024-08-18
- 创建特定时间:
time = datetime.time(14, 30, 0) print(time) # 14:30:00
- 创建特定日期和时间:
dt = datetime.datetime(2024, 8, 18, 14, 30, 0) print(dt) # 2024-08-18 14:30:00
4. 日期运算
- 日期加减:
from datetime import timedeltatoday = datetime.date.today() yesterday = today - timedelta(days=1) tomorrow = today + timedelta(days=1)print(yesterday) # 昨天的日期 print(tomorrow) # 明天的日期
- 计算日期差:
date1 = datetime.date(2024, 8, 18) date2 = datetime.date(2023, 8, 18) delta = date1 - date2 print(delta.days) # 两日期之间的天数差
- 创建 timedelta 对象:
可以通过传递时间参数来创建timedelta
对象,常用的参数包括 days, seconds, microseconds, milliseconds, minutes, hours, 和 weeks。
from datetime import timedeltadelta = timedelta(days=5, hours=3, minutes=30)
print(delta) # 输出: 5 days, 3:30:00
timedelta 对象包含以下属性:
- days: 天数
- seconds: 秒数
- microseconds: 微秒数
- total_seconds: 总秒数
5. 格式化日期和时间
- 将
datetime
对象格式化为字符串:now = datetime.datetime.now() formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date) # 例如:2024-08-18 14:35:10
- 将字符串解析为
datetime
对象:date_str = "2024-08-18 14:30:00" dt = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") print(dt) # 2024-08-18 14:30:00
6. 时区处理
- 获取当前时间并设置时区:
import pytztimezone = pytz.timezone('Asia/Shanghai') dt_with_tz = datetime.datetime.now(timezone) print(dt_with_tz)
- 将
datetime
对象转换为不同的时区:timezone_ny = pytz.timezone('America/New_York') dt_ny = dt_with_tz.astimezone(timezone_ny) print(dt_ny)
7. 获取指定时间的时间戳
dt = datetime.datetime(2024, 8, 18, 14, 30, 0)
timestamp = dt.timestamp()
print(timestamp) # 生成一个浮点数时间戳
8. 从时间戳生成 datetime
对象
timestamp = 1726681800.0
dt = datetime.datetime.fromtimestamp(timestamp)
print(dt) # 例如:2024-08-18 14:30:00
二、常用函数
1. 13位时间戳转换成Y/m/d H:M:S格式
import datetimedef timestamp_to_datetime(timestamp, format="%Y/%m/%d %H:%M:%S"):timestamp = int(timestamp) / 1000 # 将毫秒转换为秒dt = datetime.datetime.fromtimestamp(timestamp) # 这里的dt其实是一个datetime格式: <class 'datetime.datetime'>return dt.strftime(format)# 测试代码
timestamp = 1678886400000
formatted_time = timestamp_to_datetime(timestamp)
print(formatted_time) # 输出:2023/03/15 16:00:00
2. Y/m/d H:M:S格式转换成13位时间戳
import datetimedef datetime_to_timestamp(datetime_str, format="%Y/%m/%d %H:%M:%S"):dt = datetime.datetime.strptime(datetime_str, format) # 这里的dt其实是一个datetime格式: <class 'datetime.datetime'>timestamp = dt.timestamp() * 1000 # 将秒转换为毫秒return int(timestamp)# 测试代码
datetime_str = "2023/03/15 16:00:00"
timestamp = datetime_to_timestamp(datetime_str)
print(timestamp) # 输出:1678886400000
datetime.datetime.strptime() 方法用于将字符串解析为 datetime 对象。它接受两个参数:
- date_string: 要解析的字符串。
- format: 字符串的格式。
该方法返回一个 datetime 对象,表示解析后的日期和时间。
这篇关于pythom模块datetime的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!