Python中对时间日期的处理方法简单汇总
2019-01-31
编程之家收集整理的这篇文章主要介绍了Python中对时间日期的处理方法简单汇总,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H403_0@
原则,以datetime为中心,起点或中转,转化为目标对象,涵盖了大多数业务场景中需要的日期转换处理
步骤:
1. 掌握几种对象及其关系
2. 了解每类对象的基本操作方法
3. 通过转化关系转化
涉及对象
1. datetime
import datetime
now = datetime.datetime.now()
now
datetime.datetime(2015,1,12,23,9,946118)
type(now)
2. timestamp
import time
time.time()
1421075455.568243
3. time tuple
import time
time.localtime()
time.struct_time(tm_year=2015,tm_mon=1,tm_mday=12,tm_hour=23,tm_min=10,tm_sec=30,tm_wday=0,tm_yday=12,tm_isdst=0)
4. string
import datetime
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2015-01-12 23:13:08'
5. date
import datetime
datetime.datetime.now().date()
datetime.date(2015,12)
datetime基本操作
1. 获取当前datetime
import datetime
datetime.datetime.now()
datetime.datetime(2015,26,24,475680)
2. 获取当天date
datetime.date.today()
datetime.date(2015,12)
3. 获取明天/前N天
明天
datetime.date.today() + datetime.timedelta(days=1)
datetime.date(2015,13)
三天前
datetime.datetime.now()
datetime.datetime(2015,38,55,492226)
datetime.datetime.now() - datetime.timedelta(days=3)
datetime.datetime(2015,57,59363)
4. 获取当天开始和结束时间(00:00:00 23:59:59)
datetime.datetime.combine(datetime.date.today(),datetime.time.min)
datetime.datetime(2015,0)
datetime.datetime.combine(datetime.date.today(),datetime.time.max)
datetime.datetime(2015,59,999999)
5. 获取两个datetime的时间差
(datetime.datetime(2015,13,0) - datetime.datetime.now()).total_seconds()
44747.768075
6. 获取本周/本月/上月最后一天
本周
today = datetime.date.today()
today
datetime.date(2015,12)
sunday = today + datetime.timedelta(6 - today.weekday())
sunday
datetime.date(2015,18)
本月
代码 代码如下:@H_403_0@
import calendar
today = datetime.date.today()
_,last_day_num = calendar.monthrange(today.year,today.month)
last_day = datetime.date(today.year,today.month,last_day_num)
lastday
datetime.date(2015,31)
@H403_0@
获取上个月的最后一天(可能跨年)
代码如下:@H_403_0@
import datetime
today = datetime.date.today()
first = datetime.date(day=1,month=today.month,year=today.year)
lastMonth = first - datetime.timedelta(days=1)
@H_403_0@
关系转换
几个关系之间的转化
Datetime Object / String / timestamp / time tuple
关系转换例子
datetime <=> string
datetime -> string
代码如下:@H_403_0@
import datetime
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2015-01-12 23:13:08'
@H_403_0@
string -> datetime
代码如下:@H_403_0@
import datetime
datetime.datetime.strptime("2014-12-31 18:20:10","%Y-%m-%d %H:%M:%S")
datetime.datetime(2014,31,18,20,10)
@H_403_0@
datetime <=> timetuple
datetime -> timetuple
代码如下:
import datetime
datetime.datetime.now().timetuple()
time.struct_time(tm_year=2015,tm_min=17,tm_sec=59,tmisdst=-1)
@H403_0@
timetuple -> datetime
代码如下:@H_403_0@
timetuple => timestamp => datetime [看后面datetime<=>timestamp]
@H_403_0@
datetime <=> date
datetime -> date
代码如下:@H_403_0@
import datetime
datetime.datetime.now().date()
datetime.date(2015,12)
@H_403_0@
date -> datetime
代码如下:@H_403_0@
datetime.date.today()
datetime.date(2015,12)
today = datetime.date.today()
datetime.datetime.combine(today,datetime.time())
datetime.datetime(2015,0)
datetime.datetime.combine(today,0)
@H_403_0@
datetime <=> timestamp
datetime -> timestamp
代码如下:@H_403_0@
now = datetime.datetime.now()
timestamp = time.mktime(now.timetuple())
timestamp
1421077403.0
@H_403_0@
timestamp -> datetime
代码如下:@H_403_0@
datetime.datetime.fromtimestamp(1421077403.0)
datetime.datetime(2015,43,23)
附加
datetime.date(datetime.date.today().year,datetime.date.today().month,datetime.date.today().replace(day=
(datetime.date.today().replace(day=
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
猜你在找的Python相关文章
为大家详细介绍了python利用文件时间批量重命名照片和视频,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
需求:一篇文章,出现了哪些词?哪些词出现得最多? 英文文本词频统计 英文文本:Hamlet 分析词频 统计英文词频分为两步: 文本去噪及归一化 使用字典表达词频 代码: #CalHamletV1.py
异常 一. 了解异常 当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。 例如:以 r 方式打开一个不存在的文件。 ope
模块和包 一. 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块能定义函数,类和变量,模块里也能包含可执
输入 input("提示性信息") 如: input("请输入数字") 评估函数 因为 Python 没有特别人为规定数据类型,
Python简介 Python介绍 Python是时下最流流、最火爆的编程语言之一,具体原因如下: 简单、易学,适应人群广泛 免费、开源 应用领域广泛 备注:以下知名框架均是Python语言开发。 G
面向对象版学员管理系统 一. 系统需求 使用面向对象编程思想完成学员管理系统的开发,具体如下: 系统要求:学员数据存储在文件中 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信
注释 一. 注释的作用 没有注释的代码 添加注释的代码 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。 二. 注释的分类及语法 注释分为两类:单行注