python 日期操作类代码


Posted in Python onMay 05, 2018

完整代码

# -*- 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)

这篇关于python 日期操作类的文章就介绍到这,里面涉及了python日期操作的一些基础知识。

Python 相关文章推荐
Python聚类算法之DBSACN实例分析
Nov 20 Python
tensorflow获取变量维度信息
Mar 10 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
Python解析json代码实例解析
Nov 25 Python
python能否java成为主流语言吗
Jun 22 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
python 星号(*)的多种用途
Sep 21 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
Django Auth用户认证组件实现代码
Oct 13 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 Python
Python批量发送post请求的实现代码
May 05 #Python
PyQt5 pyqt多线程操作入门
May 05 #Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 #Python
python中in在list和dict中查找效率的对比分析
May 04 #Python
Django如何配置mysql数据库
May 04 #Python
Python实现求一个集合所有子集的示例
May 04 #Python
python list是否包含另一个list所有元素的实例
May 04 #Python
You might like
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
递归列出所有文件和目录
2006/10/09 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
webpack4实现不同的导出类型
2019/04/09 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
win与linux系统中python requests 安装
2016/12/04 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Django缓存系统实现过程解析
2019/08/02 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
5款实用的python 工具推荐
2020/10/13 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
竞选劳动委员演讲稿
2014/04/28 职场文书
2014国庆节标语口号
2014/09/19 职场文书
2015年读书月活动总结
2015/03/26 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang