我是靠谱客的博主 天真火龙果,这篇文章主要介绍python关于日期的获取和处理获取当天日期获取当前时间datetime转date格式获取昨天日期获取昨天日期获取日期加减后日期获取本年第一天日期获取本年最后一天日期获取本月第一天日期获取本月最后一天日期获取下月第一天日期获取下月最后一天日期获取上月第一天日期获取上月最后一天日期获取本季第一天日期获取本季最后一天日期获取上季最后一天日期获取上季第一天日期获取下季第一天日期获取下季最后一天日期获取本周第一天日期获取本周最后一天日期获取当前日期是本周第几天获取当前日期是本年第几天,现在分享给大家,希望可以做个参考。
python关于日期的获取和处理
- 获取当天日期
- 获取当前时间
- datetime转date格式
- 获取昨天日期
- 获取昨天日期
- 获取日期加减后日期
- 获取本年第一天日期
- 获取本年最后一天日期
- 获取本月第一天日期
- 获取本月最后一天日期
- 获取下月第一天日期
- 获取下月最后一天日期
- 获取上月第一天日期
- 获取上月最后一天日期
- 获取本季第一天日期
- 获取本季最后一天日期
- 获取上季最后一天日期
- 获取上季第一天日期
- 获取下季第一天日期
- 获取下季最后一天日期
- 获取本周第一天日期
- 获取本周最后一天日期
- 获取当前日期是本周第几天
- 获取当前日期是本年第几天
python中常常需要各种的日期和格式,如当前日期、当前时间、前天,月初、月末等等,以下是对于时间的获取和处理。
复制代码
1
2
3
4
5
6import datetime import time from datetime import timedelta # 获取当前的时间 now = datetime.datetime.now()
获取当天日期
复制代码
1
2
3
4
5
6
7def get_current_datetime(): """ 获取当天日期:datetime格式 :return: """ return datetime.datetime(now.year, now.month, now.day)
获取当前时间
复制代码
1
2
3
4
5
6
7def get_current_time(): """ 获取当前时间:datetime格式 :return: """ return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
datetime转date格式
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16def 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)
获取昨天日期
复制代码
1
2
3
4
5
6
7
8
9def 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
获取昨天日期
复制代码
1
2
3
4
5
6
7
8
9def 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
获取日期加减后日期
复制代码
1
2
3
4
5
6
7
8
9def 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
获取本年第一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取本年最后一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取本月第一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取本月最后一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取下月第一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取下月最后一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取上月第一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取上月最后一天日期
复制代码
1
2
3
4
5
6
7
8def 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)
获取本季第一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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)
获取本季最后一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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)
获取上季最后一天日期
复制代码
1
2
3
4
5
6
7def get_last_day_of_last_quarter(v_datetime=None): """ 获取上季最后一天日期:datetime格式 :return: """ return get_first_day_of_quarter(v_datetime) - timedelta(days=1)
获取上季第一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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)
获取下季第一天日期
复制代码
1
2
3
4
5
6
7def get_first_day_of_next_quarter(v_datetime=None): """ 获取下季第一天日期:datetime格式 :return: """ return get_last_day_of_quarter(v_datetime) + timedelta(days=1)
获取下季最后一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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)
获取本周第一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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
获取本周最后一天日期
复制代码
1
2
3
4
5
6
7
8
9def 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
获取当前日期是本周第几天
复制代码
1
2
3
4
5
6
7
8
9
10
11def 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
获取当前日期是本年第几天
复制代码
1
2
3
4
5
6
7
8
9
10
11def 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关于日期内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复