一、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. ht学习流程

    http://www.hightopo.com/blog/461.html数百个 HTML5 例子学习 HT 图形组件 掌握 HT 基础: 1.先入门手册 http://www.hightopo.co ...

  2. nginx 目录讲解

  3. 老师博客copy

    新闻 管理   Py西游攻关之基础数据类型   数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频 ...

  4. CF1100B Build a Contest

    题目地址:CF1100B Build a Contest 水题,比赛时没想就敲了个 \(O(n^2)\) 的暴力上去,结果过了Pretest,然后被Hack了 两个数组: \(c_i\) 表示 \(i ...

  5. 关于Jonathan S. Weissman与RIT(罗切斯特理工学院,位于纽约)

    信息来源于:edx平台的 RITx: CYBER501xCybersecurity Fundamentals  课程的介绍(https://courses.edx.org/courses/course ...

  6. golang 之 flag.String

    无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作.如:./main -b /home/backupdir -d true 那么如何更好 ...

  7. dubbo源码分析4——SPI机制_ExtensionFactory类的作用

    ExtensionFactory的源码: @SPI public interface ExtensionFactory { /** * Get extension. * * @param type o ...

  8. 华为QUIDWAY系列路由器的负载均衡配置

    作者:邓聪聪 华为系列路由器的负载均衡NQA联动侦测配置案例: 需求:该局域网,IP地址(末位奇数)走联通,IP地址(末位偶数)走电信当某个运营商不可达时,自动切换.通过NQA来确定运营商是否可达., ...

  9. 【转】Linux下gcc生成和使用静态库和动态库详解

    一.基本概念 1.1 什么是库 在Windows平台和Linux平台下都大量存在着库. 本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不 ...

  10. python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入

    1.新闻处理页面redis_news.py #coding:utf-8 import math import redis class RedisNews(object): def __init__(s ...