python时间处理方法_Python中对时间日期的处理方法简单汇总

Python中对时间日期的处理方法简单汇总

2019-01-31

编程之家收集整理的这篇文章主要介绍了Python中对时间日期的处理方法简单汇总,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime、获取当天date、获取明天/前N天、获取当天开始和结束时间(00:00:00 23:59:59)、获取两个datetime的时间差、获取本周/本月/上月最后一天等实用方法,需要的朋友可以参考下@H_4030@

@H403_0@

 原地址:http://www.cnblogs.com/wenBlog/p/6097220.html

原则,以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

3fe919988456ceb40df2d9bd2e5626a9.png

猜你在找的Python相关文章

为大家详细介绍了python利用文件时间批量重命名照片和视频,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

需求:一篇文章,出现了哪些词?哪些词出现得最多? 英文文本词频统计 英文文本:Hamlet 分析词频 统计英文词频分为两步: 文本去噪及归一化 使用字典表达词频 代码: #CalHamletV1.py

异常 一. 了解异常 当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的&quot;异常&quot;。 例如:以 r 方式打开一个不存在的文件。 ope

模块和包 一. 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块能定义函数,类和变量,模块里也能包含可执

输入 input(&quot;提示性信息&quot;) 如: input(&quot;请输入数字&quot;) 评估函数 因为 Python 没有特别人为规定数据类型,

Python简介 Python介绍 Python是时下最流流、最火爆的编程语言之一,具体原因如下: 简单、易学,适应人群广泛 免费、开源 应用领域广泛 备注:以下知名框架均是Python语言开发。 G

面向对象版学员管理系统 一. 系统需求 使用面向对象编程思想完成学员管理系统的开发,具体如下: 系统要求:学员数据存储在文件中 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信

注释 一. 注释的作用 没有注释的代码 添加注释的代码 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。 二. 注释的分类及语法 注释分为两类:单行注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值