当前位置: 首页 > news >正文

python 日期和时间

当写了一个script执行时,如果时间很长时,想了解执行过程用了多久,一般用下面的方法

import time

time_start = time.time()

## 

time_end = time.time()

print time_end-time_start

这里显示的时间是秒s。

就此另外了解一下时间,日期的其它用法

>>> time.time()
1477978158.454

这是一个时间戳,看不出具体意思

>>> time.localtime(time.time())
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=1, tm_hour=13, tm_min=37, tm_sec=14, tm_wday=1, tm_yday=306, tm_isdst=0)

localtime()函数可以得到一个时间元组,这个元组中的9组数字,就代表当前时间的各个值。time.localtime() 直接写也可以。

tm_wday是一周的第几日(0是周一)

tm_yday是一年的第几日(1到366)

tm_isdst是否夏令时(-1,0,1  -1是决定是否为夏令时的旗帜)

夏令时:是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。

>>> time.asctime()
'Tue Nov 01 13:46:28 2016'

这个就能得到格式化的日期时间。

除了这个格式化的方法,想自己制定格式化时:

>>> time.strftime("%a %b %d %H",time.localtime())
'Tue Nov 01 13'

提到这里,要说到另一个模块datetime, 其格式化strftime()的用法不一样

>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S %A")
'2016-11-01 13:14:13 Tuesday'

python 时间日期格式化符号有:

%y 2位数的年份

%Y 4位数的年份

%m 月份

%M 分钟

%d 月内中的一天 01-31

%D  没有这个符号

%h 没有这个符号

%I  小时 12时 (这里是大写的i, 不是不写的L)

%H 小时 24时

%s 没有这个符号

%S 秒 00-59

%a  简写的星期几

%A 完整的星期几

%b  简写的月份名  Nov

%B 完整的月份名  November

%c  本地相应的日期表示和时间表示  '11/01/16 14:31:12'

%C  没有这个符号

%j  一年中的第几天

%J  没有这个符号

%p  相当于PM AM 

%P  没有这个符号

%u  没有这个符号

%U  一年中的第几个星期 00-53

>>> time.strftime("%U",time.localtime())
'44'

%w  星期(0-6),星期天为星期的开始  (是以星期天为开始的星期内的第几天)

>>> time.strftime("%w",time.localtime())
'2'

%W 一年中的星期数(00-53)星期一为星期的开始  与%U对应

>>> time.strftime("%W",time.localtime())
'44'

%x  本地日期表示  '11/01/16'

%X 本地时间表示 '14:38:26'

%z  当前时区的名称  'China Standard Time'

%Z 当前时区的名称  'China Standard Time'

 

time模块重要的函数:

time.sleep(secs)  推迟调用线程的运行

time.clock( )  用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

这里有个容易错误的地方:

  在第一次调用的时候,返回的是程序运行的实际时间;
    以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔

 所以不用像time.time()一样做减法了。

转载于:https://www.cnblogs.com/guohuino2/p/6019397.html

相关文章:

  • Javascript的setTimeOut()和setInterval()的定时器用法
  • rsync实现同步
  • C++中static的作用和使用方法
  • 关于Html编码问题,例如字符:#183;
  • 机器学习之寻找合适的学习方法
  • 【文智背后的奥秘】系列篇——基于CRF的人名识别
  • 【转】Maven实战(九)---模块聚合和继承
  • TCP系列47—拥塞控制—10、FACK下的快速恢复与PRR
  • webpack常用加载器和插件
  • Android Studio-导入External Libraries
  • Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库
  • [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题...
  • web前端:css基本操作
  • DUILIB圆形头象
  • #include
  • 78. Subsets
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • C# 免费离线人脸识别 2.0 Demo
  • Java精华积累:初学者都应该搞懂的问题
  • Python爬虫--- 1.3 BS4库的解析器
  • SpringBoot 实战 (三) | 配置文件详解
  • swift基础之_对象 实例方法 对象方法。
  • 区块链技术特点之去中心化特性
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 小程序测试方案初探
  • 移动端 h5开发相关内容总结(三)
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • # Panda3d 碰撞检测系统介绍
  • #define、const、typedef的差别
  • #考研#计算机文化知识1(局域网及网络互联)
  • $forceUpdate()函数
  • $L^p$ 调和函数恒为零
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C语言)fgets与fputs函数详解
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (汇总)os模块以及shutil模块对文件的操作
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法)N皇后问题
  • (转)Windows2003安全设置/维护
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .htaccess配置重写url引擎
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net CHARTING图表控件下载地址
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET学习教程二——.net基础定义+VS常用设置
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • 。Net下Windows服务程序开发疑惑
  • @Controller和@RestController的区别?
  • [ solr入门 ] - 利用solrJ进行检索
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...