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异常处理总结
Aug 15 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 Python
python编程线性回归代码示例
Dec 07 Python
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 Python
python编程嵌套函数实例代码
Feb 11 Python
python3中zip()函数使用详解
Jun 29 Python
在python image 中安装中文字体的实现方法
Aug 22 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python partial函数原理及用法解析
Dec 11 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 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
非常好的php目录导航文件代码
2006/10/09 PHP
PHP中比较时间大小实例
2014/08/21 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
JavaScript中Function详解
2015/02/27 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
Python自定义类的数组排序实现代码
2016/08/28 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
应届生人事助理求职信
2013/11/09 职场文书
万年牢教学反思
2014/02/15 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
鸦片战争观后感
2015/06/09 职场文书
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript