前言

最近因为工作原因,发现一个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获取当前日期前后N天或N月日期的方法示例...相关推荐

  1. python输入一个整数倒序输出_利用Python实现倒序任意整数

    这是很早以前学习C时候做过的一个练习题,题目的要求大概是把用户输入的三位数倒序输出,比如说用户输入123,然后程序应该输出的结果是321.如果遇到用户输入100,那么程序应该输出1.然后我给扩展一下, ...

  2. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  3. python获取一个月之前日期_Python 获取几天前的时间

    Python 获取几天前的时间 计算几天前并转换为指定格式.import time import datetime # 先获得时间数组格式的日期 threeDayAgo = (datetime.dat ...

  4. python获取股票逐笔交易数据_利用python下载股票交易数据

    前段时间玩Python时无意看到了获取股票交易数据的tushare模块,由于自己对股票交易挺有兴趣,加上现在又在做数据挖掘工作,故想先将股票数据下载到数据库中,以便日后分析: # 导入需要用到的模块 ...

  5. python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表

    在<利用Python打开DICOM CT文件>一文中,我们利用pydicom.dcmread()读取了CT图像.本文中我们将修改load_scan()函数来读取RTstructure文件并 ...

  6. python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件

    利用Python如何批量修改数据库执行Sql文件 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...

  7. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  8. python 钉钉机器人发送图片_利用Python自动发送钉钉数据消息

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  9. python把汉字变成拼音英文_利用python将表格中的汉字转化为拼音

    GB18030的字符集标准 http://zbgb5.com/2/StandardDetail479488.htm 缺少包时用pip install 进行安装,例如: pip install xlsx ...

最新文章

  1. 中国联想和浪潮最能算,雄霸全球超算TOP 500数量榜单
  2. 爬虫笔记:Urllib库详解
  3. 什么是HLS(HTTP Live Streaming)?
  4. js实现连接的两种放法
  5. 计算机专业大学四年应该怎么过才有意义?
  6. (转)Putty server refused our key的三种原因和解决方法
  7. win 10 下打开delphi7 帮助文档
  8. 启动gis管理器显示无法启动服务器,mapgis狗不能启动,提示是服务器启动失败,是怎么回事?...
  9. ElasticHD Windows环境下安装
  10. PKI体系(公钥基础设施)
  11. zkdemo可以直接调用html,中控指纹机ZKBIOOnline BS开发包 含示例DEMO
  12. 计算机专业毕业论文结尾,计算机毕业论文最后的总结.docx
  13. WIN10创建虚拟桌面
  14. 免费 GIS 软件资源介绍,大家值得收藏
  15. 因为知道了这64个实用网站,初入职场我就成为了别人眼中的大神!
  16. SaaS行业的六大安全问题
  17. 项目管理与SSM框架——Spring
  18. 192、如何查询局域网内在线的监控设备IP
  19. 概率论计算圆周率(π)
  20. 6种最常用恒流源电路的分析与比较

热门文章

  1. osgi:install_OSGi服务测试助手:ServiceRegistrationRule
  2. 使用JSON模式验证来映射稀疏JSON
  3. Zing加快了JVM应用程序的预热
  4. 使用Spring Boot和H2可以完全工作的原型
  5. Java 8 map(),flatMap()示例
  6. scala本地调试_如何编写自己的Java / Scala调试器
  7. grails框架_Play和Grails Java框架的优缺点
  8. Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
  9. epyc rome_使用Encog,ROME,JSoup和Google Guava进行博客分类
  10. hibernate批量查询_使用Hibernate批量获取