Python 模块之 time & datetime
Python 中提供了对时间日期的多种多样的处理方式,主要是在有 time 和 datetime 两个模块。
time
在 Python 文档里,time 是归类在 Generic Operating System Services 中,它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。
该模块主要包括一个类 struct_time,另外其他几个函数及相关常量。 需要注意的是在该模块中的大多数函数是调用了所在平台C library的同名函数, 所以要特别注意有些函数是平台相关的,可能会在不同的平台有不同的效果。另外一点是,由于是基于Unix Timestamp,所以其所能表述的日期范围被限定在 1970 - 2038 之间,如果你写的代码需要处理在前面所述范围之外的日期,那可能需要考虑使用datetime模块更好。具体看看怎么用:
time() -- 返回以浮点数计算从1970年至当前时间的秒数
clock() -- 返回以浮点数计算从进程开始所用CPU时间
sleep() -- 推迟给定数字秒数
gmtime() -- 把自1970年至当前的时间秒数转换为 UTC 结构化元组
localtime() -- 把自1970年至当前的时间秒转换为时间元组
asctime() -- 转换时间元组为字符时间格式
ctime() -- 转换时间戳秒为字符时间格式
mktime() -- 将当前时间元组转换成自1970年的时间戳秒
strftime() -- 按照指定格式转换时间元组为字符
strptime() -- 按照指定格式解析字符为时间元组
tzset() -- 设置当前时区
应用实例
time.time()1414332433.345712timestamp = time.time()time.struct_time(tm_year=2014, tm_mon=10, tm_mday=26, tm_hour=14, tm_min=7, tm_sec=13, tm_wday=6, tm_yday=299, tm_isdst=0)time.localtime(timestamp)time.struct_time(tm_year=2014, tm_mon=10, tm_mday=26, tm_hour=22, tm_min=7, tm_sec=13, tm_wday=6, tm_yday=299, tm_isdst=0)struct_time = time.localtime(timestamp)time.ctime(timestamp)'Sun Oct 26 22:07:13 2014'time.asctime(struct_time)'Sun Oct 26 22:07:13 2014'time.mktime(struct_time)1414332433.0time.strftime("%a, %d %b %Y %H:%M:%S +0000", struct_time)time.strptime("30 Nov 00", "%d %b %y")time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)datetime
datetime 比 time 高级了不少,可以理解为 datetime 基于 time 进行了封装,提供了更多实用的函数。
在datetime 模块中包含了几个类,具体关系如下:
timedelta --主要用于计算时间跨度
tzinfo --时区相关
time --只关注时间
date --只关注日期
datetime --同时有时间和日期
在实际实用中,用得比较多的是 datetime.datetime 和 datetime.timedelta ,另外两个 datetime.date 和 datetime.time 实际使用和 datetime.datetime 并无太大差别。 使用datetime.datetime.now()可以获得当前时刻的datetime.datetime 实例。 对于一个 datetime.datetime 实例,主要会有以下属性及常用方法,看名称就能理解,应该没有太大问题:
datetime.year
datetime.month
datetime.day
datetime.hour
datetime.minute
datetime.second
datetime.microsecond
datetime.tzinfo
datetime.date() # 返回 date 对象
datetime.time() # 返回 time 对象
datetime.replace(name=value) # 前面所述各项属性是 read-only 的,需要此方法才可更改
datetime.timetuple() # 返回time.struct_time 对象
datetime.strftime(format) # 按照 format 进行格式化输出
datetime.today() # 当前时间, localtime
datetime.now([tz]) # 当前时间默认 localtime
datetime.utcnow() # UTC 时间
datetime.fromtimestamp(timestamp[,tz]) # 由 Unix Timestamp 构建对象
datetime.strptime(date_string,format) # 给定时间格式解析字符串
日期计算应用
import time
time_now = datetime.datetime.now()
time_now
datetime.datetime(2014,10,27,21,46,16,657523) delta1 = datetime.timedelta(hours=25)
print(time_now + delta1) # 输出结果:2014-10-28 22:46:16.657523
print(time_now - delta1) # 输出结果:2014-10-26 20:46:16.657523
Python 模块之 time & datetime的更多相关文章
- Python模块time、datetime
模块: 模块是一系列常用功能的集合体,一个py文件就是一个模块. 一.模块的作用: 1.从文件级别组织程序,方便管理,随着程序的发展,功能越来越多,我们通常将程序分成一个个py文件,这样做程序的结构更 ...
- python成长之路【第六篇】:python模块--time和datetime
1.时间表现形式 时间戳 (1970年1月1日之后的秒,即:time.time())格式化的时间字符串 (2014-11-11 11:11, 即:time.strftime('%Y-%m- ...
- python模块-time、datetime
简单示例: 常用函数封装: # -*- coding: utf-8 -*- # @Time : 2019/8/6 14:37 # @Author : wangmengmeng import datet ...
- python模块time&datetime&json & picle&14.logging等
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- python模块之time和datetime
33.python模块之time 1.>>> time.time() 1470900847.8458395 ==>时间戳,从1970年到现在. 2.> ...
- Python的time和datetime模块
Python的time和datetime模块 time 常用的有time.time()和time.sleep()函数. import time print(time.time()) 149930555 ...
- Python常用模块-时间模块(time&datetime)
Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...
- python常用模块之time&datetime模块
python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...
- 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块
孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...
随机推荐
- 利用inotifywait监控主机文件和目录
利用inotifywait监控主机文件和目录 inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ...
- CCNA2.0笔记_动态路由
动态路由协议: 向其他路由器传递路由信息 接收(学习)其他路由器的路由信息 根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成并维护路由表 根据网络拓朴变化及时调整路由表,同时向其他路由器宣 ...
- js从数组中提取数字
某班的成绩出来了,现在老师要把班级的成绩打印出来. 效果图: XXXX年XX月X日 星期X--班级总分为:81 格式要求: 1.显示打印的日期. 格式为类似“XXXX年XX月XX日 星期X” 的当前的 ...
- CodeForces 579b
B. Finding Team Member time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Flask 安装 快速入门
$ pip install flask Flask自带的Server在端口5000上监听: ython app.py flask通过request.form['name']来获取表单的内容. 外部可见 ...
- 编写Nginx启停服务脚本
在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 编写脚本内容:(其中下面2行需要根据情况自行修改) nginxd=/opt/nginx/sbin/nginx ng ...
- adb 安装apk到指定手机 登录shell
电脑链接多个设备时,给指定的设备安装apk, 1. 先查看手机的编码 adb devices 2. adb -s 手机编码 install xxx.apk 如果是无线链接调试状态,adb device ...
- Apple设备中point,磅(pt),pixel的关系与转换,以及iPhone模拟器与真机的长度关系
查阅了好多资料都没有发现有相关的详细介绍,包括苹果官方文档,也是草草带过.后来是在一个介绍Macbook打印字体的博客中看到的,受到启发. 首先说明苹果设备绘图的长度单位可以认为是point,不是磅( ...
- CodeSmith自动生成代码使用
官网地址:http://www.codesmithtools.com/ CodeSmith开发系列资料总结 http://terrylee.cnblogs.com/archive/2005/12/28 ...
- ajaxupload异步上传文件
ajaxupload使用说明: http://blog.csdn.net/teresa502/article/details/7952486 servlet ajaxupload demo: http ...