在python中,与时间处理相关的模块有 time,datetime,calendar。

时间的两个概念:

UTC(世界协调时):

整个地球分为二十四时区,每个时区都有自己的本地时间。格林威治天文时间(GMT),世界标准时间。在中国为UTC+8,即东八区时间。

时间戳( timestamp):

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。

一、导入 datetime 模块

获得当前时间,datetime.datetime.now()方法

from datetime import datetime
now=datetime.now()
print(now) 输出:
2020-03-01 13:13:42.702864

构建时间类型 datetime.datetime(时间:年-月-日……),输出时间戳 时间.timestamp(),这里的时间是<class ‘datetime.datetime’>类型。

from datetime import datetime
newtime=datetime(2020,1,1,0,0,0) #新建一个时间类型数据
print(newtime)
data=newtime.timestamp() #构建时间戳
print(data) 输出:
2020-01-01 00:00:00
1577808000.0 #1970.1.1 0:0:0 - 2020.1.1 0:0:0 经历的秒数

时间戳转换成 datetime 类型 datetime.datetime.fromtimestamp(时间戳)

# 接上述代码
tm=datetime.fromtimestamp(data)
print(tm) 输出:
2020-01-01 00:00:00

二、时间与字符串

字符串类型转换为datetime 类型

通用格式datetime.datetime.strptime(str,"%Y-%m-%d %H:%M")

from datetime import datetime
str="2020-1-1 0:0"
tm=datetime.strptime(str,"%Y-%m-%d %H:%M")
print(tm) 输出:
2020-01-01 00:00:00

常见时间格式化符号:

格式符 时间格式
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-999
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
datetime 类型转换为字符串类型

时间.strftime("%c"),这里的时间是 <class ‘datetime.datetime’> 类型

from datetime import datetime
tm=ime=datetime(2020,1,2,12,30,0) #时间 2020-1-2 12:30:00
print(tm) print(tm.strftime("%Y-%m-%d")) # 输出年-月-日
print(tm.strftime("%H:%M")) # 输出时间
print(tm.strftime("%A")) # 输出星期
print(tm.strftime("%c")) # 适当日期和时间表示
# 适当日期 适当的时间 表示
print(tm.strftime("%x, %X")) # 日/月/年 时:分:秒 输出:
2020-01-02 12:30:00
2020-01-02 # 输出年-月-日
12:30 # 输出时间
Thursday # 输出星期
Thu Jan 2 12:30:00 2020 # 适当日期和时间表示
01/02/20, 12:30:00 # 日/月/年 时:分:秒

三、时间类型的运算

时间运算需要借助 timedelta 类。

from datetime import datetime,timedelta
now=datetime.now()
print(now)
print(now-timedelta(hours=2)) # 减去两个小时
print(now-timedelta(days=2,hours=2)) # 减去两天,两小时 输出:
2020-03-01 14:08:45.689264
2020-03-01 12:08:45.689264
2020-02-28 12:08:45.689264

更多详情请参考:

python官方文档:datetime类型 https://docs.python.org/3/library/datetime.html

python模块 | 时间处理模块—datetime模块的更多相关文章

  1. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  2. python五十四课——datetime模块

    3.datetime模块:理解:datetime可以认为是time模块的补充/扩展datetime模块中有一些常用类:datetime类:记录了日期和时间数据信息date类:记录了日期数据信息time ...

  3. python常见模块之time,datetime模块

    一.time模块 time模块提供了一些用于管理时间和日期. time模块中时间的表现形式有三种: format_string  格式化的字符串 struct_time     结构化时间 times ...

  4. Python之时间(time)模块

    在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(time.time( ...

  5. python初步学习-import和datetime模块

    模块 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说,可以把模块理解为一 ...

  6. Python标准库笔记(3) — datetime模块

    datetime模块提供了简单和复杂的方式用于操纵日期和时间的类.虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性. 1. 模块内容 内容 描述 常量   datetime.M ...

  7. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块

    正则表达式   语法:             mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...

  8. re模块,正则表达式起别名和分组机制,collections模块,time与datetime模块,random模块

    re模块和正则表达式别名和分组机制 命名分组 (1)分组--可以让我们从文本内容中提取指定模式的部分内容,用()来表示要提取的分组,需要注意的是分组 是在整个文本符合指定的正则表达式前提下进行的进一步 ...

  9. 二十三、python中的time和datetime模块

    A.time模块   1. sleep():强制等待 import timeimport datetime print("start to sleep.....")time.sle ...

  10. Python之日期与时间处理模块(date和datetime)

    本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时 ...

随机推荐

  1. Oracle分析函数/排名函数/位移函数/同比环比

    分析函数 作用:分析函数可以在数据中进行分组,然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值.统计函数:MAX(字段名).MIN(字段名).AVG(字段名).SUM(字段名).CO ...

  2. Linux图形界面和命令界面切换

    转至:https://blog.csdn.net/weixin_43683466/article/details/85727723 1.若虚拟机内热键被占用,可通过下图所示修改,移出快捷键ctrl+a ...

  3. 哈工大 信息安全 实验 Snort与单台防火墙联动实验

    XX大学XX学院 <网络攻击与防御> 实验报告 实验报告撰写要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性. ...

  4. WPS:字母自动变大写的解决办法

    设置中:

  5. Java:输入输出、格式化输出

    1.输出 都在System.out模块下,常用方法有: print:输出: println:输出并换行: printf:格式化输出: 2.格式化输出 格式化输出的方法是System.out.print ...

  6. pyinstaller:各种错误及解决方法

    1.DLL load failed 说明没有找到某个DLL 解决方法: 在 D:\Anaconda\Anaconda3\Library\bin 下找到缺失的DLL,复制到dist下 2.No modu ...

  7. Tableau绘制漏斗图、甘特图、瀑布图、镶边面积图、阴影坡度图

    Tableau绘制漏斗图.甘特图.瀑布图.镶边面积图.阴影坡度图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一. 漏斗图 数据源 1.1 分色直条漏斗图 (1) ...

  8. 小程序WXS 模块

    WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构 WXS中定义的函数可以在wxml文件中使用,可以用它来当过滤器使用 WXS以.wxs扩展名结尾,文件中 ...

  9. 微信小程序刚注册快速达到1000uv

    一.什么是微信小程序uv ​ UV:是累计独立访问,1个微信号就是一个uv,多次访问不算 ​ 大家想提升微信小程序uv都是为了开通流量主 二.流量主开通标准 ​ 达到1000uv就可以开通:严重违纪不 ...

  10. Redis常见延迟问题定位与分析

    Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右.但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头 ...