一、time模块

1:概述

时间表示的分类

  • 时间戳
  • 格式化的时间字符串
  • 结构化时间

时间戳:时间戳表示的是从1970年1月1日整0点到目前秒的偏移量,数据类型是浮点型,主要用来让计算机看的

格式化的时间字符串:如 2019-01-26 等 ,数据类型是字符串,主要是人看

结构化时间:结构化时间会将时间进行分组,比如年,月,日,时,分,秒等等,数据类型是一个元祖,主要做时间转换

有如下方法

  • time.time() 获取时间戳
  • time.strftime 获取格式化字符串时间
  • time.localtime 获取结构化的时间
  • time.mktime 结构化时间----> 时间戳
  • time.gmtime/localtime 时间戳-->结构化的时间 gmtime UTC时间  localtime当地时间
  • time.strptime 格式化时间---> 结构化时间

2:Python中的时间戳

import time   # 导入time模块
print(time.time()) # 打印时间戳
# 1548483247.8239293

3: Python中的格式化字符串时间

import time  # 导入time模块
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 根据自定义规则输出格式化好的字符串时间

以下是Python中的时间格式化参数的具体含义

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

我们可以根据上述符号自定义属于自己的格式化的字符串时间

4:结构化时间

import time # 导入time模块
print(time.localtime()) # 输出结构化时间
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=26, tm_hour=14, tm_min=23, tm_sec=22, tm_wday=5, tm_yday=26, tm_isdst=0)

以下是结构化时间各个字段的具体含义

tm_year(年)
tm_mon(月)
tm_mday(日)
tm_hour(时)
tm_min(分)
tm_sec(秒)
tm_wday(weekday)
tm_yday(一年中的第几天
tm_isdst(是否是夏令时

5:各种时间类型的转换

以下是转换的方法

# 时间戳--->格式化字符串时间
import time # 导入time模块
now_stamptime = time.time() # 获取当前的时间戳
now_struct_time = time.localtime(now_stamptime) # 通过time.localtime,将时间戳时间转换为结构化的时间
now_format_time = time.strftime('%Y-%m-%d %H:%M:%S',now_struct_time) # 通过time.strftime,将结构化的时间转换为格式化字符串的时间 (格式,结构化时间)
print(now_format_time)
# 格式化字符串时间---> 时间戳
import time # 导入time模块
format_time = time.strftime('%Y-%m-%d %H:%M:%S') # 获取一个格式化字符串时间
print(format_time)
struct_time = time.strptime(format_time,'%Y-%m-%d %H:%M:%S') # 使用strptime格式化时间--> 结构化时间(格式化时间,格式)
print(struct_time)
stamp_time = time.mktime(struct_time) # 使用mktime将结构化的时间转换为时间戳
print(stamp_time)

二、datetime模块

# 如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。

# 打印现在的时间 .now() 返回的datetime数据类型
from datetime import datetime
now = datetime.now()
print(now, type(now))
# 2019-12-18 18:19:02.554144 <class 'datetime.datetime'> # 将时间戳转换为datatime类型的时间
import time
from datetime import datetime
ts = time.time()
dt = datetime.fromtimestamp(ts)
print(dt, type(dt))
# 2019-12-18 18:18:32.000821 <class 'datetime.datetime'> # 将str时间转换为datetime时间
from datetime import datetime
str_t = '2019-08-01 01:00:00'
dt = datetime.strptime(str_t, '%Y-%m-%d %H:%M:%S')
print(dt, type(dt)) # 将datetime时间转换为str时间
from datetime import datetime
now_dt = datetime.now()
now_str = datetime.strftime(now_dt, '%Y-%m-%d %H:%M:%S')
print(now_str, type(now_str))
# 2019-12-18 18:26:47 <class 'str'> # datetime加减
from datetime import datetime, timedelta
now_dt = datetime.now()
now_dt_1h = now_dt + timedelta(hours=1)
print(now_dt_1h, type(now_dt_1h))
# 2019-12-18 19:32:13.883642 <class 'datetime.datetime'>
now_dt_1day = now_dt + timedelta(days=1)
print(now_dt_1day)
# 2019-12-19 18:32:13.883642
now_dt_1day_1h = now_dt + timedelta(days=1, hours=1)
print(now_dt_1day_1h)
# 2019-12-19 19:32:13.883642

Python内置模块之time模块的更多相关文章

  1. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  2. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

  3. 8.python内置模块之random模块简介

    Python中的random模块用于生成随机数. 常用的7个函数: 1.random.random():返回一个[0,1)之间的随机浮点值(双精度) 2.random.uniform(a,b):返回[ ...

  4. Python 内置模块:os模块

    Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是windo ...

  5. 13.python内置模块之re模块

    什么是正则? 正则表达式也称为正则,是一个特殊的字符序列,能帮助检查一个字符串是否与某种模式匹配.可以用来进行验证:邮箱.手机号.qq号.密码.url = 网站地址.ip等.正则不是python语言独 ...

  6. 12.python内置模块之sys模块介绍

    python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数. sys模块的常用函数: 1.sys.argv:命令行参数列表.第一个元 ...

  7. 10.python内置模块之os模块

    os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件). os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址)). 小生总结了一些平时常用到的属 ...

  8. python内置模块之re模块

    内容概要 re模块常用方法 findall search match re模块其他方法 split sub subn compile finditer findall 对无名分组优先展示 re实战之爬 ...

  9. Python内置模块之序列化模块

    序列化模块 json dumps loads dump load pickle dumps loads dump load shelve json 1: dumps/loads import json ...

随机推荐

  1. cmder使用简介

    简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...

  2. 【ARTS】01_15_左耳听风-20190218~20190224

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  3. 非极大值抑制(NMS)的几种实现

    因为之前对比了RoI pooling的几种实现,发现python.pytorch的自带工具函数速度确实很慢,所以这里再对Faster-RCNN中另一个速度瓶颈NMS做一个简单对比试验. 这里做了四组对 ...

  4. 设计模式C++学习笔记之五(Factory Method工厂方法模式)

      工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的 ...

  5. Centos 6.x/7.x yum安装php5.6.X(最新版)

    鉴于Centos 默认yum源的php版本太低了,手动编译安装又有点一些麻烦,那么如何采用Yum安装的方案安装最新版呢.那么,今天我们就来学习下如何用yum安装php最新版. 1.检查当前安装的PHP ...

  6. (常用)xml-pickle-shevel-json模块

    json,pickle模块        1. 什么是序列化            序列化指的是将内存中的数据类型转换成一种中间格式,该格式可以用来存到硬盘中或者基于网络传输         2. 为 ...

  7. Golang -- range小坑铭记

    废话少叙,先上一段代码,猜猜预期的效果. package main import ( "fmt" ) type student struct { Name string Age i ...

  8. C和C++相互调用

    在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题.近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最重要 ...

  9. 洛谷P3317 [SDOI2014]重建 [Matrix-Tree定理]

    传送门 思路 相信很多人像我一样想直接搞Matrix-Tree定理,而且还过了样例,然后交上去一分没有. 但不管怎样这还是对我们的思路有一定启发的. 用Matrix-Tree定理搞,求出的答案是 \[ ...

  10. spring jdbctemplate调用存储过程,返回list对象

    注:本文来源于<  spring jdbctemplate调用存储过程,返回list对象 > spring jdbctemplate调用存储过程,返回list对象 方法: /** * 调用 ...