未加星标

python 日期操作类代码

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

完整代码

# -*- 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 输出上个月的月末日期实例python3获取两个日期之间所有日期,以及比较大小的实例python时间日期函数与利用pandas进行时间序列处理详解python2.7 json 转换日期的处理的示例Python实现生成随机日期字符串的方法示例Python实现自动为照片添加日期并分类的方法Python实现获取照片拍摄日期并重命名的方法Python SQLite3数据库日期与时间常见函数用法分析利用python获取当前日期前后N天或N月日期的方法示例python 计算两个日期相差多少个月实例代码Python中的日期时间处理详解

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: SQLPython数据数据库
tags: get,days,return,month,totalmon,today,mon,day,date,日期,def,year,thisyear
分页:12
转载请注明
本文标题:python 日期操作类代码
本站链接:http://www.codesec.net/view/576080.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(25)