python-datetime

本文详细介绍Python中日期时间的处理方法,包括获取当前时间、日期加减、计算日期差、获取特定日期如昨天或上个月的最后一天等。同时,文章还展示了如何使用calendar模块计算某个月的天数。
获取昨天日期
import datetime

def getYesterday():
    today = datetime.date.today()
    oneday = datetime.timedelta(days=1)
    yesterday = today - oneday
    return yesterday

print(getYesterday())

timedelta:该类用来计算前后的时间,一个timedelta对象表示一个时间长度,两个日期或者时间的差值
eg:

import datetime
day = datetime.datetime.now()
daydel=datetime.timedelta(days = 1)
weekdel=datetime.timedelta(weeks = 4)
yeardel = datetime.timedelta(weeks = 56)

print(day)
print(day - daydel)
print(day + daydel)
print(day - weekdel)
print(day + weekdel)
print(day - yeardel)
print(day + yeardel )

在这里插入图片描述

计算某年某个月天数
import calendar

month = calendar.monthrange(2019,7)
print(month)

运行:
在这里插入图片描述
输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。
以上实例输出的意思为 2019 年 7 月份的第一天是星期一,该月总共有 31 天

某个月的天数
import calendar
print(calendar.mdays)
print(calendar.mdays[9])

运行:
在这里插入图片描述

datetime常用方法
#获取当前时间
print(datetime.datetime.now())
print(time.mktime(datetime.datetime.now().timetuple()))  #float类型
print(datetime.datetime.now().replace(second=0,microsecond=0))
print(datetime.date.today())

在这里插入图片描述

#datetime tuple转成时间字符串
now = datetime.datetime.now()
print(now)
print(now.strftime("%Y-%m-%d %H:%M:%S"))

在这里插入图片描述

#datetime tuple转成float类型
now = datetime.datetime.now()
print(time.mktime(now.timetuple()))

在这里插入图片描述

#datetime date和time的转换
t = datetime.date(2019,2,18)
print(t)
print(datetime.datetime.strptime(str(t),'%Y-%m-%d'))

在这里插入图片描述

#获取当前时间的前一段时间
now = datetime.datetime.now()

# 前一小时
a = now - datetime.timedelta(hours=1)
print(a.strftime("%Y-%m-%d %H:%S:%M"))

# 前一天
b = now - datetime.timedelta(days=1)
print(b.strftime("%Y-%m-%d %H:%S:%M"))

# 上周日
c = now - datetime.timedelta(days=now.isoweekday())
print(c.strftime("%Y-%m-%d %H:%S:%M"))            # 上周一
d = c - datetime.timedelta(days=6)
print(d.strftime("%Y-%m-%d %H:%S:%M"))            # 上个月最后一天
e = now - datetime.timedelta(days=now.day)
print(e.strftime("%Y-%m-%d %H:%S:%M"))

# 上个月第一天
print(datetime.datetime(e.year, e.month, 1))

在这里插入图片描述

#获取两个时间相差秒数
print((datetime.datetime.now()-datetime.datetime(2018,5,16,0,0,0)).total_seconds())

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值