python获取今天零点和24点以及其他日期

本文介绍了使用Python简洁地获取本地时区下今天、本周一、本月第一天等特定日期零点和24点的时间戳方法,内容涵盖从今天到去年的多个时间范围。
部署运行你感兴趣的模型镜像

这种方法算是代码量比较小的,同时可以保证求的是本地时区的0点时间戳,返回的是浮点数,需要的话自己转一下int

# 返回时间戳
import time
from datetime import datetime
time.mktime(datetime.now().date().timetuple())

1.获取今天零点和24点

def getTodayDate():
    now = datetime.datetime.now()
    zero_today = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,
                                          microseconds=now.microsecond)
    last_today = zero_today + datetime.timedelta(hours=23, minutes=59, seconds=59)
    return zero_today, last_today

2.获取本周一零点和周日24点

def getWeekDate():
    now = datetime.datetime.now()
    zero_week = now - datetime.timedelta(days=now.weekday(), hours=now.hour, minutes=now.minute, seconds=now.second,
                                         microseconds=now.microsecond)
    last_week = now + datetime.timedelta(days=6 - now.weekday(), hours=23 - now.hour, minutes=59 - now.minute,
                                         seconds=59 - now.second)

    return getFormatDate(zero_week), getFormatDate(last_week)

3.获取本月一号零点和最后一天24点

def getMonthDate():
    now = datetime.datetime.now()
    zero_month = datetime.datetime(now.year, now.month, 1)
    last_month = datetime.datetime(now.year, now.month + 1, 1) - datetime.timedelta(days=1) + datetime.timedelta(
        hours=23, minutes=59, seconds=59)
    return getFormatDate(zero_month), getFormatDate(last_month)

4.上周第一天和最后一天

now = datetime.datetime.now()
last_week_start = now - timedelta(days=now.weekday()+7)
last_week_end = now - timedelta(days=now.weekday()+1)

5.上月第一天和最后一天

last_month_end = this_month_start - timedelta(days=1)
last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)

6.今年/去年第一天和最后一天

this_year_start = datetime.datetime(now.year, 1, 1)
this_year_end = datetime.datetime(now.year + 1, 1, 1) - datetime.timedelta(days=1)
last_year_end = this_year_start - datetime.timedelta(days=1)
last_year_start = datetime.datetime(last_year_end.year, 1, 1)

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值