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

Python模块-time模块

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

time 常用模块


time.time

记录当前时间戳

示例:记录运行代码的时间

start_time = time.time
[期间运行了很多很多代码]
end_time = time.time
print("代码运行了",start_time - end_time)

time.sleep()

代码延迟运行

示例:代码延迟5秒再运行

time.sleep(5)

time.localtime()

默认值相当于 time.localtime(time.time)

结构化当地时间

print(time.localtime())
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=18, tm_sec=31, tm_wday=1, tm_yday=86, tm_isdst=0)

示例:分别取当前的年月日

print(time.localtime().tm_year)
print(time.localtime().tm_mon)
print(time.localtime().tm_mday)

时间戳转变为结构化时间

print(time.localtime(1522153892.0))
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=31, tm_sec=32, tm_wday=1, tm_yday=86, tm_isdst=0)

time.gmtime()

UTC世界标准时间

print(time.gmtime())
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=12, tm_min=23, tm_sec=25, tm_wday=1, tm_yday=86, tm_isdst=0)

time.mktime()

结构化时间转换为时间戳

print(time.mktime(time.localtime()))
1522153892.0

time.ctime()

以秒为单位的时间转换为表示本地时间的字符串

print(time.ctime())
Tue Mar 27 20:53:06 2018

time.asctime()

结构化时间固定的转换为系统默认格式

print(time.asctime())
Tue Mar 27 20:53:06 2018

time.strptime()

字符串时间转换为结构化时间

print(time.strptime("2018-03-27-20:43:28","%Y-%m-%d-%X"))
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=43, tm_sec=28, tm_wday=1, tm_yday=86, tm_isdst=-1)

time.strftime()

结构化时间转换为字符串时间

print(time.strftime("%Y-%m-%d %X",time.localtime()))
2018-03-27 20:42:58

datetime模块

打印当前时间

import datetime
print(datetime.datetime.now())
2018-03-27 21:10:11.775249

time常用模块示例

#coding=utf-8
 
import datetime
from datetime import timedelta
 
now = datetime.datetime.now()
 
#今天
today = now
 
#昨天
yesterday = now - timedelta(days=1)
 
#明天
tomorrow = now + timedelta(days=1)

#当前季度
now_quarter = now.month / 3 if now.month % 3 == 0 else now.month / 3 + 1

#本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6-now.weekday())
 
#上周第一天和最后一天
last_week_start = now - timedelta(days=now.weekday()+7)
last_week_end = now - timedelta(days=now.weekday()+1)
 
#本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1)
 
#上月第一天和最后一天
last_month_end = this_month_start - timedelta(days=1)
last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)
 
#本季第一天和最后一天
month = (now.month - 1) - (now.month - 1) % 3 + 1
this_quarter_start = datetime.datetime(now.year, month, 1)
this_quarter_end = datetime.datetime(now.year, month + 3, 1) - timedelta(days=1)
 
#上季第一天和最后一天
last_quarter_end = this_quarter_start - timedelta(days=1)
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)
 
#本年第一天和最后一天
this_year_start = datetime.datetime(now.year, 1, 1)
this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)
 
#去年第一天和最后一天
last_year_end = this_year_start - timedelta(days=1)
last_year_start = datetime.datetime(last_year_end.year, 1, 1)

获取本周:周一和周日的日期

import datetime
from datetime import timedelta

now = datetime.datetime.now()

log_week_start = now - timedelta(days=now.weekday())
log_week_end = now + timedelta(days=6-now.weekday())
short_week_start=(now - timedelta(days=now.weekday())).strftime("%Y-%m-%d")
short_week_end=(now + timedelta(days=6-now.weekday())).strftime("%Y-%m-%d")

print("本周一的长时间:",log_week_start)
print("本周日的长时间:",log_week_start)
print("本周一的短时间:",short_week_start)
print("本周日的短时间:",short_week_end)

转载于:https://my.oschina.net/zhaojunhui/blog/1785872

相关文章:

  • Java并发编程(二)优势和风险
  • 聚焦2017中国网络安全年会
  • 电路中IC器件电压符号的解释
  • XVIII Open Cup named after E.V. Pankratiev. GP of Romania
  • 4199. [NOI2015]品酒大会【后缀数组+并查集】
  • 瞄准MSP市场风口,Bespin为企业转型保驾护航
  • 自己动手写CPU——寄存器堆、数据存储器(基于FPGA与Verilog)
  • OO1-3总结
  • nodejs使用log4js记录日志
  • WPF 自定义TextBox带水印控件,可设置圆角
  • SnapKit 最佳实践
  • Linux的磁盘配额
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 100. bootstrap 弹出对话框bootbox.confirm
  • jetty的使用
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • CentOS7 安装JDK
  • Consul Config 使用Git做版本控制的实现
  • Fundebug计费标准解释:事件数是如何定义的?
  • Java深入 - 深入理解Java集合
  • js操作时间(持续更新)
  • Redis中的lru算法实现
  • Redis字符串类型内部编码剖析
  • SegmentFault 2015 Top Rank
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 从0到1:PostCSS 插件开发最佳实践
  • 动态魔术使用DBMS_SQL
  • 多线程 start 和 run 方法到底有什么区别?
  • 缓存与缓冲
  • 基于web的全景—— Pannellum小试
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 译自由幺半群
  • 怎么将电脑中的声音录制成WAV格式
  • ###C语言程序设计-----C语言学习(3)#
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Linux(make工具和makefile文件以及makefile语法)
  • #每天一道面试题# 什么是MySQL的回表查询
  • #微信小程序(布局、渲染层基础知识)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (1)STL算法之遍历容器
  • (JS基础)String 类型
  • (pojstep1.1.2)2654(直叙式模拟)
  • (翻译)terry crowley: 写给程序员
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (五)c52学习之旅-静态数码管
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)h264中avc和flv数据的解析
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET MVC第五章、模型绑定获取表单数据
  • .net MySql
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)