我是靠谱客的博主 天真火龙果,最近开发中收集的这篇文章主要介绍python关于日期的获取和处理获取当天日期获取当前时间datetime转date格式获取昨天日期获取昨天日期获取日期加减后日期获取本年第一天日期获取本年最后一天日期获取本月第一天日期获取本月最后一天日期获取下月第一天日期获取下月最后一天日期获取上月第一天日期获取上月最后一天日期获取本季第一天日期获取本季最后一天日期获取上季最后一天日期获取上季第一天日期获取下季第一天日期获取下季最后一天日期获取本周第一天日期获取本周最后一天日期获取当前日期是本周第几天获取当前日期是本年第几天,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
python关于日期的获取和处理
- 获取当天日期
- 获取当前时间
- datetime转date格式
- 获取昨天日期
- 获取昨天日期
- 获取日期加减后日期
- 获取本年第一天日期
- 获取本年最后一天日期
- 获取本月第一天日期
- 获取本月最后一天日期
- 获取下月第一天日期
- 获取下月最后一天日期
- 获取上月第一天日期
- 获取上月最后一天日期
- 获取本季第一天日期
- 获取本季最后一天日期
- 获取上季最后一天日期
- 获取上季第一天日期
- 获取下季第一天日期
- 获取下季最后一天日期
- 获取本周第一天日期
- 获取本周最后一天日期
- 获取当前日期是本周第几天
- 获取当前日期是本年第几天
python中常常需要各种的日期和格式,如当前日期、当前时间、前天,月初、月末等等,以下是对于时间的获取和处理。
import datetime
import time
from datetime import timedelta
# 获取当前的时间
now = datetime.datetime.now()
获取当天日期
def get_current_datetime():
"""
获取当天日期:datetime格式
:return:
"""
return datetime.datetime(now.year, now.month, now.day)
获取当前时间
def get_current_time():
"""
获取当前时间:datetime格式
:return:
"""
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
datetime转date格式
def get_date_format(v_datetime):
"""
获取时间的date格式
:param v_datetime: 输入时间,datetime格式
:return: date格式时间
"""
try:
return time.strftime('%Y-%m-%d', v_datetime)
except TypeError:
try:
v_datetime_temp = time.strptime(str(v_datetime), '%Y-%m-%d %H:%M:%S')
return time.strftime("%Y-%m-%d", v_datetime_temp)
except ValueError:
v_datetime_temp = time.strptime(str(v_datetime), '%Y-%m-%d')
return time.strftime("%Y-%m-%d", v_datetime_temp)
获取昨天日期
def get_yesterday_datetime(v_datetime=None):
"""
获取昨天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
yesterday = str(v_datetime - timedelta(days=1)).split(' ')[0]
return yesterday
获取昨天日期
def get_tomorrow_datetime(v_datetime=None):
"""
获取明天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
tomorrow = str(v_datetime + timedelta(days=1)).split(' ')[0]
return tomorrow
获取日期加减后日期
def get_date_add(v_datetime=None, days=None):
"""
获取日期加减后日期:days>0,加日期,days<0,减日期
:return: date格式
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
tomorrow = str(v_datetime + timedelta(days=days)).split(' ')[0]
return tomorrow
获取本年第一天日期
def get_first_day_of_year(v_datetime=None):
"""
获取本年第一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, 1, 1)
获取本年最后一天日期
def get_last_day_of_year(v_datetime=None):
"""
获取本年最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year + 1, 1, 1) - timedelta(days=1)
获取本月第一天日期
def get_first_day_of_month(v_datetime=None):
"""
获取本月第一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month, 1)
获取本月最后一天日期
def get_last_day_of_month(v_datetime=None):
"""
获取本月最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month + 1, 1) - timedelta(days=1)
获取下月第一天日期
def get_first_day_of_next_month(v_datetime=None):
"""
获取下月第一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month + 1, 1)
获取下月最后一天日期
def get_last_day_of_next_month(v_datetime=None):
"""
获取下月最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month + 2, 1) - timedelta(days=1)
获取上月第一天日期
def get_first_day_of_last_month(v_datetime=None):
"""
获取上月第一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month - 1, 1)
获取上月最后一天日期
def get_last_day_of_last_month(v_datetime=None):
"""
获取上月最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return datetime.datetime(v_datetime.year, v_datetime.month, 1) - timedelta(days=1)
获取本季第一天日期
def get_first_day_of_quarter(v_datetime=None):
"""
获取本季第一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
month = (v_datetime.month - 1) - (v_datetime.month - 1) % 3 + 1
return datetime.datetime(v_datetime.year, month, 1)
获取本季最后一天日期
def get_last_day_of_quarter(v_datetime=None):
"""
获取本季最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
month = (v_datetime.month - 1) - (v_datetime.month - 1) % 3 + 1
return datetime.datetime(v_datetime.year, month + 3, 1) - timedelta(days=1)
获取上季最后一天日期
def get_last_day_of_last_quarter(v_datetime=None):
"""
获取上季最后一天日期:datetime格式
:return:
"""
return get_first_day_of_quarter(v_datetime) - timedelta(days=1)
获取上季第一天日期
def get_first_day_of_last_quarter(v_datetime=None):
"""
获取上季第一天日期:datetime格式
:return:
"""
year = get_last_day_of_last_quarter(v_datetime).year
month = get_last_day_of_last_quarter(v_datetime).month - 2
return datetime.datetime(year, month, 1)
获取下季第一天日期
def get_first_day_of_next_quarter(v_datetime=None):
"""
获取下季第一天日期:datetime格式
:return:
"""
return get_last_day_of_quarter(v_datetime) + timedelta(days=1)
获取下季最后一天日期
def get_last_day_of_next_quarter(v_datetime=None):
"""
获取下季最后一天日期:datetime格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
month = (v_datetime.month - 1) - (v_datetime.month - 1) % 3 + 1
return datetime.datetime(v_datetime.year, month + 7, 1) - timedelta(days=1)
获取本周第一天日期
def get_first_day_of_week(v_datetime=None):
"""
获取本周第一天日期:date格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
week_date = str(v_datetime - timedelta(days=v_datetime.weekday())).split(' ')[0]
return week_date
获取本周最后一天日期
def get_last_day_of_week(v_datetime=None):
"""
获取本周最后一天日期:date格式
:return:
"""
v_datetime = now if v_datetime is None else datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
week_date = str(v_datetime + timedelta(days=6-v_datetime.weekday())).split(' ')[0]
return week_date
获取当前日期是本周第几天
def get_day_of_week(v_datetime):
"""
获取当前日期是本周第几天:int格式
:return:
"""
try:
v_date = datetime.datetime.strptime(v_datetime, "%Y-%m-%d")
except ValueError:
v_date = datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return v_date.timetuple().tm_wday + 1
获取当前日期是本年第几天
def get_day_of_year(v_datetime):
"""
获取本年第几天:int格式
:return:
"""
try:
v_date = datetime.datetime.strptime(v_datetime, "%Y-%m-%d")
except ValueError:
v_date = datetime.datetime.strptime(v_datetime, "%Y-%m-%d %H:%M:%S")
return v_date.timetuple().tm_yday
个人学习记录,若有错误,欢迎指正。
最后
以上就是天真火龙果为你收集整理的python关于日期的获取和处理获取当天日期获取当前时间datetime转date格式获取昨天日期获取昨天日期获取日期加减后日期获取本年第一天日期获取本年最后一天日期获取本月第一天日期获取本月最后一天日期获取下月第一天日期获取下月最后一天日期获取上月第一天日期获取上月最后一天日期获取本季第一天日期获取本季最后一天日期获取上季最后一天日期获取上季第一天日期获取下季第一天日期获取下季最后一天日期获取本周第一天日期获取本周最后一天日期获取当前日期是本周第几天获取当前日期是本年第几天的全部内容,希望文章能够帮你解决python关于日期的获取和处理获取当天日期获取当前时间datetime转date格式获取昨天日期获取昨天日期获取日期加减后日期获取本年第一天日期获取本年最后一天日期获取本月第一天日期获取本月最后一天日期获取下月第一天日期获取下月最后一天日期获取上月第一天日期获取上月最后一天日期获取本季第一天日期获取本季最后一天日期获取上季最后一天日期获取上季第一天日期获取下季第一天日期获取下季最后一天日期获取本周第一天日期获取本周最后一天日期获取当前日期是本周第几天获取当前日期是本年第几天所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复