在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. Java -- List与数组转换

    list转数组 使用for循环 使用list.toArray(new String[]),不可以强制转换list.toArray(),因为数组在jvm是一个object表示的,是一个对象 数组转lis ...

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

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

  3. Nodejs在Linux环境安装

    一.下载安装包 http://nodejs.cn/download/ 二.解压 tar -xf node-v14.3.0-linux-x64.tar.xz 三.配置 1.编辑文件vim /etc/pr ...

  4. python之random.seed()函数

    Python--random.seed()用法 第一次接触random.seed(),可能理解的不是特别对,大家欢迎指错,整理自网络,侵权删除 概念 seed()是改变随机数生成器的种子,可以在调用其 ...

  5. centos7运行system-config-kickstart时报错

    centos7运行system-config-kickstart时在Package Selection模块中出现如下错误: Package Selection Packageselection is ...

  6. Linux-系统启动与MBR扇区修复

    目录 1.系统启动过程 1.1 MBR扇区 1.2 MBR扇区的备份与还原 1.3 修复MBR 1.3.1 dd备份MBR信息 1.3.2 光驱启动修复 1.4 grub引导代码修复 1.系统启动过程 ...

  7. PHP数组和字符串函数

    1.1关于数组操作的函数 1.1.1range(start,end) 创建一个数组,值从start开始,一直到end结束 如果range里面的参数是数字,那么他直接按照数字大小的顺序排序,如果里面的参 ...

  8. MYSQL安装后自带用户的作用

    user表中host列的值的意义%                   匹配所有主机localhost      localhost不会被解析成IP地址,直接通过UNIXsocket连接127.0.0 ...

  9. 17 数组 Arrays类

    Arrays类 概念 数组的工具类java.util.Arrays 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作 ...

  10. ArcMap操作随记(4)

    1.统计各省份公路长度 [标识]→[汇总]→[视图][创建] 2.用户登录分配 [创建渔网]→[连接] 3.城市超市影响范围 [创建泰森多边形]→[标识]→[汇总] 4.三维可视化分析 [构造视线]→ ...