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

相关文章

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链