全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用python获取当前日期前后N天或N月日期的方法示例

前言

最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧。

示例代码:

# -*- coding: utf-8 -*-

'''获取当前日期前后N天或N月的日期'''

from time import strftime, localtime
from datetime import timedelta, date
import calendar

year = strftime("%Y", localtime())
mon = strftime("%m", localtime())
day = strftime("%d", localtime())
hour = strftime("%H", localtime())
min = strftime("%M", localtime())
sec = strftime("%S", localtime())

def today():
 '''''
 get today,date format="YYYY-MM-DD"
 '''''
 return date.today()


def todaystr():
 '''
 get date string, date format="YYYYMMDD"
 '''
 return year + mon + day


def datetime():
 '''''
 get datetime,format="YYYY-MM-DD HH:MM:SS"
 '''
 return strftime("%Y-%m-%d %H:%M:%S", localtime())


def datetimestr():
 '''''
 get datetime string
 date format="YYYYMMDDHHMMSS"
 '''
 return year + mon + day + hour + min + sec


def get_day_of_day(n=0):
 '''''
 if n>=0,date is larger than today
 if n<0,date is less than today
 date format = "YYYY-MM-DD"
 '''
 if (n < 0):
  n = abs(n)
  return date.today() - timedelta(days=n)
 else:
  return date.today() + timedelta(days=n)


def get_days_of_month(year, mon):
 '''''
 get days of month
 '''
 return calendar.monthrange(year, mon)[1]


def get_firstday_of_month(year, mon):
 '''''
 get the first day of month
 date format = "YYYY-MM-DD"
 '''
 days = "01"
 if (int(mon) < 10):
  mon = "0" + str(int(mon))
 arr = (year, mon, days)
 return "-".join("%s" % i for i in arr)


def get_lastday_of_month(year, mon):
 '''''
 get the last day of month
 date format = "YYYY-MM-DD"
 '''
 days = calendar.monthrange(year, mon)[1]
 mon = addzero(mon)
 arr = (year, mon, days)
 return "-".join("%s" % i for i in arr)


def get_firstday_month(n=0):
 '''''
 get the first day of month from today
 n is how many months
 '''
 (y, m, d) = getyearandmonth(n)
 d = "01"
 arr = (y, m, d)
 return "-".join("%s" % i for i in arr)


def get_lastday_month(n=0):
 '''''
 get the last day of month from today
 n is how many months
 '''
 return "-".join("%s" % i for i in getyearandmonth(n))


def getyearandmonth(n=0):
 '''''
 get the year,month,days from today
 befor or after n months
 '''
 thisyear = int(year)
 thismon = int(mon)
 totalmon = thismon + n
 if (n >= 0):
  if (totalmon <= 12):
   days = str(get_days_of_month(thisyear, totalmon))
   totalmon = addzero(totalmon)
   return (year, totalmon, days)
  else:
   i = totalmon / 12
   j = totalmon % 12
   if (j == 0):
    i -= 1
    j = 12
   thisyear += i
   days = str(get_days_of_month(thisyear, j))
   j = addzero(j)
   return (str(thisyear), str(j), days)
 else:
  if ((totalmon > 0) and (totalmon < 12)):
   days = str(get_days_of_month(thisyear, totalmon))
   totalmon = addzero(totalmon)
   return (year, totalmon, days)
  else:
   i = totalmon / 12
   j = totalmon % 12
   if (j == 0):
    i -= 1
    j = 12
   thisyear += i
   days = str(get_days_of_month(thisyear, j))
   j = addzero(j)
   return (str(thisyear), str(j), days)


def addzero(n):
 '''''
 add 0 before 0-9
 return 01-09
 '''
 nabs = abs(int(n))
 if (nabs < 10):
  return "0" + str(nabs)
 else:
  return nabs


def get_today_month(n=0):
 '''''
 获取当前日期前后N月的日期
 if n>0, 获取当前日期前N月的日期
 if n<0, 获取当前日期后N月的日期
 date format = "YYYY-MM-DD"
 '''
 (y, m, d) = getyearandmonth(n)
 arr = (y, m, d)
 if (int(day) < int(d)):
  arr = (y, m, day)
 return "-".join("%s" % i for i in arr)


if __name__ == "__main__":
 print today()
 print todaystr()
 print datetime()
 print datetimestr()
 print get_day_of_day(20)
 print get_day_of_day(-3)
 print get_today_month(-3)
 print get_today_month(3)
 print get_today_month(19)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持


# python  # 获取当前日期  # python获取前一天日期  # 获取日期  # Python实现根据日期获取当天凌晨时间戳的方法示例  # 教你用python从日期中获取年、月、日和星期等30种信息  # python如何获取当前系统的日期  # Python实现获取照片拍摄日期并重命名的方法  # django python 获取当天日期的方法  # 在这里  # 这篇文章  # 前日  # 谢谢大家  # 多说  # 很好用  # 期后  # 有疑问  # hour  # min  # sec  # def  # calendar  # date  # year  # timedelta  # day  # DD  # string  # todaystr 


相关文章: 如何在万网自助建站平台快速创建网站?  开封网站制作公司,网络用语开封是什么意思?  如何快速登录WAP自助建站平台?  建站VPS配置与SEO优化指南:关键词排名提升策略  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  建站之星如何实现五合一智能建站与营销推广?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何将凡科建站内容保存为本地文件?  教学网站制作软件,学习*后期制作的网站有哪些?  在线制作视频网站免费,都有哪些好的动漫网站?  ,有什么在线背英语单词效率比较高的网站?  Android自定义控件实现温度旋转按钮效果  湖北网站制作公司有哪些,湖北清能集团官网?  如何在西部数码注册域名并快速搭建网站?  内网网站制作软件,内网的网站如何发布到外网?  如何在IIS中新建站点并配置端口与IP地址?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何通过PHP快速构建高效问答网站功能?  如何在服务器上配置二级域名建站?  如何在阿里云香港服务器快速搭建网站?  建站之星备案是否影响网站上线时间?  代购小票制作网站有哪些,购物小票的简要说明?  自助网站制作软件,个人如何自助建网站?  ,巨量百应是干嘛的?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  香港服务器租用费用高吗?如何避免常见误区?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  建站之星如何实现网站加密操作?  网站制作公司排行榜,抖音怎样做个人官方网站  家庭建站与云服务器建站,如何选择更优?  中山网站推广排名,中山信息港登录入口?  北京制作网站的公司,北京铁路集团官方网站?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  招商网站制作流程,网站招商广告语?  常州企业网站制作公司,全国继续教育网怎么登录?  如何选择美橙互联多站合一建站方案?  XML的“混合内容”是什么 怎么用DTD或XSD定义  建站之星2.7模板:企业网站建设与h5定制设计专题  C++如何编写函数模板?(泛型编程入门)  如何解决VPS建站LNMP环境配置常见问题?  小型网站制作HTML,*游戏网站怎么搭建?  如何通过智能用户系统一键生成高效建站方案?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  宝塔Windows建站如何避免显示默认IIS页面?  专业公司网站制作公司,用什么语言做企业网站比较好?  网站制作公司排行榜,四大门户网站排名?  如何用美橙互联一键搭建多站合一网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。