我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 时间操作datetime详情

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 时间操作datetime详情

复习回顾:

Python 在对时间操作内置库提供了time模块和datetime模块。

  • time模块对结构化时间与时间戳和字符串时间进行互相转换相关方法学习
  • datetime 模块提供处理时间和日期的多种类,简单方便

python 还提供通用日历相关方法的calendar模块,时区信息zoneinfo模块,以及第三方库arrowdateutil模块对时间处理

1. datetime 模块概述

datetime 模块不仅支持时间日期数学运算,还提供高效输出格式化和操作的属性相关方法

datetime 模块根据包含时区信息将日期和时间分为两种感知型对象和简单型对象

  • 感知型时间对象:充分使用应用性算,以及当地实际情况来精确定位时间点,通常用来表示没有解释空间的固定时间点
  • 简单型时间对象:不会包含当地的信息,一切取决于具体程序所计算出的时间点,忽略现实因素,通常可以代表UTC世界标准时间

datetime 提供许多类,能进一步方便与我们取出感知型时间对象的信息。

  • date 类型的对象都是简单型的
  • timedatetime类型的对象可以是感知型或者简单型
  • timedelta 对象既不是感知型对象也不是简单型对象

2. datetime 组成部分

datetime 模块对比time不同的是,它主要提供操作日期和时间的类。

通过查看 datetime 模块文件主要提供包括处理时间日期的还有时区相关的类共6类

类名称 描述
datetime.date 用于表示日期,常用的属性有:year, month和day
datetime.time 用于表示时间,常用属性有:hour, minute, second, microsecond
datetime.datetime 用于表示日期时间
datetime.timedelta 用于表示两个date、time、datetime实例之间的时间间隔,最小单位可达到微秒
datetime.tzinfo 时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。
datetime.timezone Python 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量

datetime 模块相关类关系图:

datetime 模块中类的对象都是不可变类型

datetime这两个类是我们日常使用最多的

3. datetime 常量

在datetime.pyi文件中,我们可知道detetime模块定义了两个常量dat

常量名称 描述
datetime.MINYEAR datetime.date或datetime.datetime对象所允许的年份的最小值,值为1
datetime.MAXYEAR datetime.date或datetime.datetime对象所允许的年份的最大值,只为9999

4. datetime 常用方法

datetime 模块对比time模块提供更多的操作时间日期的操作,以下我们列出常用的方法

方法 作用
datetime.datetime.timestamp() 将datetime对象转换输出成时间戳的形式
datetime.datetime.now() 格式化输出当前系统时间
datetime.datetime.timedelta([hours,days]) 设置某个属性的偏移量
datetime.datetime.strptime(date_str,format) 将时间字符串转换为datetime对象
datetime.date.fromtimestamp(timestamp) 将时间戳格式化输出为日期
datetime.date.today() 返回当地本地日期
datetime.time.strftime(fromat) 返回当地时间格式化输出
datetime.time.dst() 返回当地所在的时区,tzinfo为none,则返回none
datetime.tzinfo.utcoffset(dt) 设置时区差,以东为正值,返回timedelta对象
datetime.tzinfo.dst(dt) 将夏令时调整返回一个timedelta对象

5、实操

我们对datetime模块常用方法学习,我们来实现输入日期判断是昨天或者今天的日期即为Ture,否则为false


def check_current_date(sw_date):

    cur_date_list =  time.strftime("%Y/%m/%d", time.localtime()) .split('/')

    today = datetime.datetime.now()

    offset = datetime.timedelta(days=-1)

    yes_data = today+offset

    yes_data_list = yes_data.strftime("%Y/%m/%d").split('/')

    data_list = cur_date_list + yes_data_list

    print("data_list",data_list)

    seps = ['/', '-', '_']

    for sep in seps:

        date_parts= sw_date.split(sep)

        print("cur_date_list = {}, arg sw_date = {}".format(data_list, sw_date))

        if len(date_parts) == 3:

            for data in date_parts:

                if data not in data_list:

                    return False

            return True

    return False

我们来进行测试一下结果:


print("当前日期:",datetime.datetime.now())

print("测试前一天:",check_current_date("2021-10-29"))

print("测试当前日期:",check_current_date("2021/10/30"))

6、总结

本期,我们对datetime模块进行基本的认识,知道datetime模块包含6个类,且对常用方法进行学习和实操。

到此这篇关于 Python 时间操作datetime的文章就介绍到这了,更多相关 Python 时间操作datetime内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 时间操作datetime详情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中时间操作datetime怎么用

小编给大家分享一下Python中时间操作datetime怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python 在对时间操作内置库提供了time模块和d
2023-06-21

python,datetime 时间格

import datetime,redef parse_date(date_str): try: if not date_str: return None if "-" in date
2023-01-31

Python的时间模块datetime详解

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime.date:表示日期的类 2.datet
2022-06-04

浅谈Python中用datetime包进行对时间的一些操作

1. 计算给出两个时间之间的时间差import datetime as dt # current time cur_time = dt.datetime.today() # one day pre_time = dt.date(2016,
2022-06-04

python时间操作

#!/usr/bin/python # -*- coding:utf8 -*- import time,datetime Atime=time.time() ##获取本地时间戳 print Atime print time.strftime
2023-01-31

详解python时间模块中的datetime模块

Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录