Python 时间操作datetime详情

目录
  • 1. datetime 模块概述
  • 2. datetime 组成部分
  • 3. datetime 常量
  • 4. datetime 常用方法
  • 5、实操
  • 6、总结

复习回顾:

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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python datetime模块的使用示例

    1.获取当前年月日时分秒 # -*- encoding=utf-8 -*- import datetime now = datetime.datetime.now() print("now:{}".format(now)) year = now.year print("year:{}".format(year)) month = now.month print("month:{}".format(month)) day = now.day pri

  • 最好的Python DateTime 库之 Pendulum 长篇解析

    不过不得不说,datetime模块也有一些限制. 例如,当我们处理时区时,通常会显得短缺.有时,我们不得不引入一些第三方库作为补充. 此外,datetime 模块中的某些方面在其他编程语言中不很直观或不常用. 在本文中,我将介绍一个名为 Pendulum 的第三方库,它将解决内置 datetime 模块的所有问题,欢迎收藏学习,喜欢点赞支持,文末提供技术交流群. 1.直接替换 datetime 使用 pytz 等第三方库来解决一些 Python datetime不擅长的问题并不少见.但是,我们仍

  • 浅谈Python3中datetime不同时区转换介绍与踩坑

    最近的项目需要根据用户所属时区制定一些特定策略,学习.应用了若干python3的时区转换相关知识,这里整理一部分记录下来. 下面涉及的几个概念及知识点: GMT时间:Greenwich Mean Time, 格林尼治平均时间 UTC时间:Universal Time Coordinated 世界协调时,可以认为是更精准的GMT时间,但两者误差极小,在1s以内,一般可视为等同 LMT:Local Mean Time, 当地标准时间 Python中的北京时间:Python的标准timezone中信息

  • python语言time库和datetime库基本使用详解

    今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作,目的是为了方便喜欢Python的小白学习,也是一种自我鞭策吧! python语言使用内置time库和datetime库来处理日期时间 相关术语的解释 UTC time Coordinated Universal Time,世界协调时,又称 格林尼治天文时间.世界标准时间.与UTC time对应的是

  • python中time、datetime模块的使用

    1.前言 如果您从事过python web的开发,那一定有过这样的经历,对于各种复杂繁琐的业务逻辑,掺杂着各种各样的时间约束,让人很容易搞的头晕眼花,比如展示出一天内用户进行过的所有操作记录,再比如进行验证码验证时获取当前时间与验证码生成时间进行比较,检查是否超过10分钟过期时间之类.这些关于时间的业务逻辑,要求我们必须能熟练掌握python中关于时间的两个模块,time和datetime,只有用好了这两个模块,我们才能在代码中轻松自如的应对. 2.time模块 time模块中时间表现的格式主要

  • 一篇文章带你了解python标准库--datetime模块

    目录 1. datetime模块介绍 1.1 datetime模块包含的类 1.2 datetime模块中包含的常量 2. datetime实例的方法 3. 日期格式化符号 总结 1. datetime模块介绍 1.1 datetime模块包含的类 1.2 datetime模块中包含的常量 2. datetime实例的方法 案例代码 import locale from datetime import datetime,date,time locale.setlocale(locale.LC_C

  • Python 时间操作datetime详情(下)

    目录 1. datetime.date 类 1.1datetime.date 类格式 1.2datetime.date类方法和属性 2. datetime.time 类 2.1datetime.time 类格式 2.2datetime.time类方法和属性 2.3datetime.time类方法和属性 3. datetime.datetime 类 3.1datetime.datetime 类定义格式 3.2datetime.datetime 类方法和属性 4. datetime.timedelt

  • Python 时间操作datetime详情

    目录 1. datetime 模块概述 2. datetime 组成部分 3. datetime 常量 4. datetime 常用方法 5.实操 6.总结 复习回顾: Python 在对时间操作内置库提供了time模块和datetime模块. time模块对结构化时间与时间戳和字符串时间进行互相转换相关方法学习 datetime 模块提供处理时间和日期的多种类,简单方便 python 还提供通用日历相关方法的calendar模块,时区信息zoneinfo模块,以及第三方库arrow.dateu

  • Python 时间操作time详情

    目录 1. time 概述 2. 格式化时间字符串 3. time 结构化 4. time 相关方法 5.实操 6.总结 前言: 我们在日常生活中,都离不开时间和日期.不仅我们的汉字都有大量描述时间日期的词语如斗转星移.分秒必争.只针朝夕.转眼之间等.同样,在我们程序中,我们也离不开时间日期的记录.在Python高级语言中,内置库提供了time和datetime模块进行对时间日期的处理. 1. time 概述 计算机网络时间是以UNIX元年1970年1月1日0点开始的 Python time 模

  • Python时间操作之pytz模块使用详解

    目录 前言 1. pytz 模块概述 什么是 pytz 模块 国家时区映射关系表 pytz 模块使用方法 2. pytz 相关方法 3. pytz 时区查询 4. pytz 日期计算 总结 前言 在我们日常生活中,时间概念常伴我们左右.让我们简单的回忆一下自己的一天,大致有以下时间点: 8:00,清晨的阳光照射到床头伴着闹钟,你从睡眠中清醒 8:30,你洗漱完成换好工装,出门上班 9:00,准时坐到工位上,开始一天的工作 12:00,吃午饭午休 14:00,开始下午的工作 ....,时间无处不在

  • Python时间模块datetime、time、calendar的使用方法

    本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用,希望这篇文章对于学习Python的朋友们有所帮助. 首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了. import datetime import time import calendar 1.获取到此时的准确时间 # 获取此时的时间 print time.localtime() //输出格式为: time.str

  • Python 时间操作例子和时间格式化参数小结

    1.取过去具体时间的方法: 复制代码 代码如下: #!/usr/bin/python import time  #取一天前的当前具体时间   time.strftime('%Y-%m-%d %T',time.localtime(time.time()-24*60*60)) #取15天前的当前具体时间   time.strftime('%Y-%m-%d %T',time.localtime(time.time()-15*24*60*60)) #取15天前当前具体时间的前2小时   time.str

  • Python 时间处理datetime实例

    同时,关于datetime也是简单介绍.因为有很多东西需要自己去使用,去查帮助才最有效.例子:计算上一个星期五并输出.解答: 复制代码 代码如下: import datetime, calendar lastFriday = datetime.date.today( ) oneday = datetime.timedelta(days=1) lastFriday -= oneday while lastFriday.weekday( ) != calendar.FRIDAY: lastFrida

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

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接口则更直观.更容易调用. 1.datetime中包含三个类date ,time,datetime 函数datetime.combine(date,time)可以得到dateime,datetime.date().datetime.time()可以获得date和time 2.d

  • Python时间和字符串转换操作实例分析

    本文实例讲述了Python时间和字符串转换操作.分享给大家供大家参考,具体如下: 例子: #!/usr/bin/python # -*- coding: UTF-8 -*- import time # 格式化成2016-03-20 11:45:39形式 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成Sat Mar 28 22:24:24 2016形式 print time.strftime("

  • Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    python中的datetime模块提供了操作日期和时间功能,该模块提供了五种核心对象:datetime时间日期类型,date日期类型,time时间类型,tzinfo时区类型,timedelta时间差类型,今天为大家介绍一下datetime模块的具体使用方法与python日期时间计算与比较的相关实例 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象

随机推荐