欢迎来到夜的世界

莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生.料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。
扩大
缩小

获取各种日期

导入模块 

import calendar
import datetime
from datetime import timedelta

获取今天日期:

 

#返回datetime格式:eg:2019-12-07 20:38:35.82816
now = datetime.datetime.now()

#返回datetime.date格式:eg:2019-12-07
now = datetime.datetime.now().date()

#返回datetime.datetime格式:eg:2020-06-03 16:31:52.617571
now = datetime.date.today()

# 返回str格式
now = datetime.datetime.strptime(now, '%Y-%m-%d')

 

获取昨天日期:

yesterday = now - timedelta(days=1)

获取明天日期:

tomorrow = now + timedelta(days=1)

获取本周第一天和最后一天:

this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6-now.weekday())

获取上周第一天和最后一天:

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

获取本月第一天和最后一天:

  第一天 : 

this_month_start = datetime.datetime(now.year, now.month, 1)

  最后一天 : 

###方法一 :  如果目前是12月份,n那么需要判断了
if now.month == 12:
    this_month_end = datetime.datetime(now.year, now.month, 31)
else:
    this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1)

###方法二 : 
this_month_end = datetime.datetime(now.year, now.month, calendar.monthrange(now.year, now.month)[1])

  注意 :
    calendar.monthrange(year,month)
    传入两个值:一个是当前的年份,另外一个是当前的月份
    写法可以是:calendar.monthrange(now.year,now.month)

    返回两个整数。
    第一个值为该月第一天所在的星期几,对应的数字。0 - 6==>0(星期一)到6(星期日)
    第二个值为该月一共几天。

获取上月第一天和最后一天 :

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

获取本季第一天和最后一天:

month = (now.month - 1) - (now.month - 1) % 3 + 1

this_quarter_start = datetime.datetime(now.year, month, 1)

if month >= 10:
    this_quarter_end = datetime.datetime(now.year, 12, 31)
else:
    this_quarter_end = datetime.datetime(now.year, month + 3, 1) - timedelta(days=1)

获取上季第一天和最后一天:

last_quarter_end = this_quarter_start - timedelta(days=1)
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)

获取本年第一天和最后一天:

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

获取去年第一天和最后一天:

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

每天的凌晨和晚分 : 

zeroToday = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,
                                     microseconds=now.microsecond)
lastToday = zeroToday + datetime.timedelta(hours=23, minutes=59, seconds=59)

posted on 2020-03-19 10:44  二十四桥_明月夜  阅读(180)  评论(0编辑  收藏  举报

导航