pythom模块datetime

2024-08-27 06:12
文章标签 模块 datetime pythom

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110862

相关文章

C#中DateTime的格式符的实现示例

《C#中DateTime的格式符的实现示例》本文介绍了C#中DateTime格式符的使用方法,分为预定义格式和自定义格式两类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录DateTime的格式符1.核心概念2.预定义格式(快捷方案,直接复用)3.自定义格式(灵活可控

Python AST 模块实战演示

《PythonAST模块实战演示》Python的ast模块提供了一种处理Python代码的强大工具,通过解析代码生成抽象语法树(AST),可以进行代码分析、修改和生成,接下来通过本文给大家介绍Py... 目录 什么是抽象语法树(AST)️ ast 模块的核心用法1. 解析代码生成 AST2. 查看 AST

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Python pickle模块的使用指南

《Pythonpickle模块的使用指南》Pythonpickle模块用于对象序列化与反序列化,支持dump/load方法及自定义类,需注意安全风险,建议在受控环境中使用,适用于模型持久化、缓存及跨... 目录python pickle 模块详解基本序列化与反序列化直接序列化为字节流自定义对象的序列化安全注

python pymodbus模块的具体使用

《pythonpymodbus模块的具体使用》pymodbus是一个Python实现的Modbus协议库,支持TCP和RTU通信模式,支持读写线圈、离散输入、保持寄存器等数据类型,具有一定的参考价值... 目录一、详解1、 基础概念2、核心功能3、安装与设置4、使用示例5、 高级特性6、注意事项二、代码示例

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录