时间模块time datatime

time 模块

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

(2)格式化的时间字符串(Format String): ‘1999-12-06’

%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 当前时区的名称
%% %号本身

(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

import time
print(time.time()) # 时间戳
# 1563442062.862509 print(time.strftime('%Y-%m-%d %X')) # 格式化时间
# 2019-07-18 17:29:46
print(time.strftime('%Y-%m-%d %H-%M-%S'))
# 2019-07-18 17-29-46 print(time.localtime()) # 结构化时间
# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=17, tm_min=30, tm_sec=52, tm_wday=3, tm_yday=199, tm_isdst=0)

几种格式之间的转换

import time

# 时间戳转换结构化时间
res = time.time()
print(time.gmtime(res))
print(time.localtime(res))
# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=34, tm_sec=8, tm_wday=3, tm_yday=199, tm_isdst=0)
# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=34, tm_sec=8, tm_wday=3, tm_yday=199, tm_isdst=0) # 结构化时间转换时间戳
res = time.localtime()
print(time.mktime(res))
# 1563446202.0
import time

# 结构化时间转换格式化时间
res = time.localtime()
print(time.strftime('%Y-%m-%d',res))
# 2019-07-18 # 格式化时间转换结构化时间
res = time.strftime('%Y-%m-%d %X')
print(time.strptime(res,'%Y-%m-%d %X'))
# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=46, tm_sec=37, tm_wday=3, tm_yday=199, tm_isdst=-1)

datetime 模块

import datetime

# 自定义时间
res = datetime.date(2019,7,18)
print(res)
# 2019-07-18 # 获取本地时间
print(datetime.date.today)
res = datetime.datetime.today()
print(res)
# 2019-07-18
# 2019-07-18 18:52:39.687587 # 无论是年月日,还是年月日时分秒对象都可以调用以下方法获取针对性的数据 print(res.year) # 获取年份 2019
print(res.month) # 获取月份 7
print(res.day) # 获取日 18
print(res.weekday()) # 获取星期 0表示周一 3
print(res.isoweekday()) # 获取星期 1表示周一 4 # timedelta 对象
today = datetime.date.today()
tdelta = datetime.timedelta(days=3)
print(f'今天日期{today}')
print(f'从今天向后推3天:{today+tdelta}')
# 今天日期2019-07-18
# 从今天向后推3天:2019-07-21

日期对象 = 日期对象 +/- timedelta

timedelta 对象 = 日期对象 +/- 日期对象

验证:

import datetime

now_date = datetime.date.today()
day = datetime.timedelta(days=7) now_date1 = now_date+day # 日期对象 = 日期对象 +/- timedelta
print(type(now_date))
day1 = now_date1 - now_date # timedelta 对象 = 日期对象 +/- 日期对象
print(day1)
# <class 'datetime.date'>
# 7 days, 0:00:00

模块 time 和 datetime的更多相关文章

  1. Python 常用模块之time&datetime 和random

    本节大纲: 模块介绍 time &datetime模块 random 一.模块介绍: 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他 ...

  2. Python常用模块-时间模块(time&datetime)

    Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...

  3. python常用模块之time&datetime模块

    python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...

  4. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

  5. python时间模块time,datetime

    时间模块time.datetime 模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默 ...

  6. oldboy edu python full stack s22 day16 模块 random time datetime os sys hashlib collections

    今日内容笔记和代码: https://github.com/libo-sober/LearnPython/tree/master/day13 昨日内容回顾 自定义模块 模块的两种执行方式 __name ...

  7. python时间模块-time和datetime

    时间模块 python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数:格式化后的时间字符串:时间struct_time 元组. struct_time元组中元素主要包括 ...

  8. python成长之路【第六篇】:python模块--time和datetime

    1.时间表现形式 时间戳  (1970年1月1日之后的秒,即:time.time())格式化的时间字符串   (2014-11-11 11:11,    即:time.strftime('%Y-%m- ...

  9. Day5模块-time和datetime模块

    模块是封装一段代码来实现某种功能. 分为三类: 1.自定义模块 2.标准库,内置模块 3.开源模块 -------------------------------------------------- ...

  10. python 时间模块time,datetime详细介绍

    模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...

随机推荐

  1. FOI冬令营 Day4

    目录 T1.循环流(flow) 传送门 Code T2.整除分块(mex) 传送门 Code T3.森林(forest) 传送门 Code 咕咕咕 T1.循环流(flow) 传送门 Code /* 特 ...

  2. lucene正向索引——正向信息,Index –> Segments (segments.gen, segments_N) –> Field(fnm, fdx, fdt) –> Term (tvx, tvd, tvf)

    转自:http://www.cnblogs.com/forfuture1978/archive/2009/12/14/1623599.html 上面曾经交代过,Lucene保存了从Index到Segm ...

  3. Java判断整数溢出

    开题报告第一版写完发给老师了,熬了两周终于搞出来了,等着被怼了之后再改吧.晚上选了Leetcode一道简单的题,整数反转,就是将一个int类型的数反转.原本确实很简单,最后出现个问题有意思--整数溢出 ...

  4. html5、手机端 input 单独打开相机、摄像头、录音功能

    相机:<input type="file" name="image" accept="image/*" capture="u ...

  5. java匿名内部类new(){}

    匿名内部类:顾名思义,没有名字的内部类.表面上看起来它们似乎有名字,实际那不是它们的名字.当程序中使用匿名内部类时,在定义匿名内部类的地方往往直接创建该类的一个对象.匿名内部类的声明格式如下:new ...

  6. PHP 美化输出数组

    var_export — 输出或返回一个变量的字符串表示 此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码. 您可以通过将函数的 ...

  7. selenium元素input的value值设置【node.js版本】

    driver.executeScript(‘document.getElementById(“id”).value=“value”’); 这个操作就类似于//$("#id").va ...

  8. linux修改配置文件解决mysql中文乱码和指定数据库存储引擎

    如题,mysql数据库的中文显示乱码: 先看下原来数据库里的字符编码: mysql> show variables like '%character_set%'; +-------------- ...

  9. git clone时加上--depth 1

    当项目过大时,git clone时会出现error: RPC failed; HTTP curl The requested URL returned error: Gateway Time-out的 ...

  10. Java使用Apache Commons Net实现FTP功能

    maven依赖: <!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dependency> ...