time,时间模块比较重要,但不难学,主要是要学会转换时间格式。计算机的时间都是时间戳。人是看不懂的。写出时间转换的固定格式语句。import time   # 首先就是引入时间模块。

time.time()    # 取得当前时间的时间戳。时间戳就是从1970.1.1日零点开始,每秒钟加一,所有秒数加起来得到的一个数字。哦,python中时间有三种表现形式(真复杂)。1.时间戳是给机器看的(time.time())。2.格式化时间(strftime),根据我们的需要来格式化时间的显示。3.结构化时间(struct_time),可以把时间进行分类,如年,月,日等等。格式化时间固定语句如下:

s = time.strftime('%Y-%m-%d  %H:%M:%S')    #  这里的格式为:2019-02-24  23:18:43

print(s)

日期格式化标准(照抄老师教案,手动惭愧):

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

打印结构化时间:

print(time.localtime())  # 打印结果为:time.struct_time(tm_year=2019, tm_mon=2, tm_mday=24, tm_hour=23, tm_min=29, tm_sec=31, tm_wday=6, tm_yday=55, tm_isdst=0)

给定一个时间,转换为格式化时间。

ti = time.localtime(1234567890)     #  在localtime的括号里可以给定一个时间戳数字。就可以把这个时间戳转换为格式化时间。

print(ti)   # 打印结果为:time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)

这样就可以很容易得取得格式化时间的各个部分了。

t = time.localtime(1234567890) # 结构化时间
s = time.strftime("%Y-%m-%d %H:%M:%S", t) # 格式化这个时间
print(s)    #  打印结果为:2009-02-14  07:31:30, 这是人能看懂的时间格式

实现反过来的功能(格式化时间转换成时间戳):

s = "2020-10-01 12:18:12"
t = time.strptime(s, "%Y-%m-%d %H:%M:%S")     #   转化成结构时间
print(time.mktime(t))       #   转换成时间戳

转来转去的关键就是locltime(),结构化时间是时间戳和格式化时间之间的桥梁。必须先转化为结构化时间,才能用strftime和strptime继续转化。

时间差的计算:

import time
true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d%H:%M:%S'))
time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d%H:%M:%S'))
dif_time=time_now-true_time
struct_time=time.localtime(dif_time)
print(struct_time)
print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))

time模块,补上之前拉下的作业。的更多相关文章

  1. Twitter面试题蓄水池蓄水量算法(原创 JS版,以后可能会补上C#的)

    之前在群里有人讨论Twitter的面试题,蓄水池蓄水量计算,于是自己写了个JS版的(PS:主要后台代码还要编译,想想还是JS快,于是就使用了JS了.不过算法主要还是思路嘛,而且JS应该都没问题吧^_^ ...

  2. 与左侧的 圆括号“(”(位于“e:\大二上课程课件、作业和答案\数据结构\chapter4\sqstack\sqstack\mysqstack.h(23)”)匹配之前遇到文件结束

    错误原因是“某对圆括号只打了左括号而没有右括号”,debug方法是:直接根据报错提示:“与左侧的 圆括号“(”(位于“e:\大二上课程课件.作业和答案\数据结构\chapter4\sqstack\sq ...

  3. Spark Scheduler 模块(上)

    在阅读 Spark 源代码的过程中,发现单步调试并不能很好的帮助理解程序.这样的多线程的分布式系统,更好的阅读源代码的方式是依据模块,分别理解.   在包 org.apache.spark 下面有很多 ...

  4. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

  5. drupal7 开发自定义上传、下载模块的上传功能

    关键点有两个:1.在页面上显示出上传的控件,2.代码实现文件上传到服务器的功能 一.显示控件: 先来看关键点1: 实现页面显示出上传控件, 关键代码: $form['my_file_field'] = ...

  6. 第二十九天- socketserver模块 ftp上传

    1.socketserver模块: socketserver,它提供了服务器中心类,可简化网络服务器的开发,内部使用IO多路复用以及“多线程”和“多进程”,从而实现并发处理多个客户端请求的socket ...

  7. python学习之算法、自定义模块、系统标准模块(上)

    算法.自定义模块.系统标准模块(time .datetime .random .OS .sys .hashlib .json和pickle) 一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1. ...

  8. Linux下安装pip(遇到了python2.6升级为python2.7道路上的坑,原因已经找到,只差临门一脚了,以后补上)

    1.先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2.下面介绍怎么 ...

  9. 第六周课上测试-3-ch02补充作业

    实验要求: 编写一个程序 "week0603学号.c",运行下面代码: short int v = -学号后四位 unsigned short uv = (unsigned sho ...

随机推荐

  1. cc1: error: bad value (armv5) for -march= switch【转】

    本文转载自:https://stackoverflow.com/questions/23871924/cc1-error-bad-value-armv5-for-march-switch Ask Qu ...

  2. 【ZJOI2009】【Codevs 2347】假期的宿舍

    http://codevs.cn/problem/2347/ Solution 二分图板子 连边:i认识j并且j是在校有床 i→j+n i有床i→i+n 还有就是找要在学校的人,1.有床不回2.没床的 ...

  3. gitlab-ce平台调试

    SMTP使用QQ exmail 遇到的问题:使用qinrui@easyunion.net对516059158@qq.com能发送验证邮件,但是无法打开验证连接

  4. android View页面布局总结 最全总结(转)

    下面是我在工作中总结的内容,希望对大家有帮助. 一.布局 View的几种布局显示方式有下面几种:线性布局(LinearLayout).相对布局(RelativeLayout).表格布局(TableLa ...

  5. request.getRemoteAddr()和request.getRemoteHost()

    转自:https://www.cnblogs.com/aizj/p/7593209.html request.getRemoteAddr()是获得客户端的ip地址.request.getRemoteH ...

  6. centos7的systemd

    系统启动流程 POST --> Boot Sequence --> Bootloader --> kernel+initramfs(initrd) --> rootfs --& ...

  7. 【WIP】C基础语法

    创建: 2017/06/17 更新: 2017/10/14 标题加上[WIP],增加创建时间 更新: 2018/02/05 被Objective-C引用部分加上id方便链接,代码放进代码模板      ...

  8. Ruby和Swift的Range

     意义  Swift  Ruby  [1, 2, 3, 4, 5]  1...5  1..5  [1, 2, 3, 4]  1..<5   1...5                       ...

  9. tp5增加验证的自定义规则

  10. redis在linux的安装和开机启动(二)

    编译 安装 makefile已经存在 执行make 即可 make之后, 自动创建可运行的脚本文件, 不需要再执行 install了. 将脚本文件, 拷贝到指定位置, 就可以了. 手动创建目录, 需要 ...