`
cobrano1
  • 浏览: 28819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python 时间操作备忘

阅读更多
  1. #!/usr/bin/python
  2. '''
  3. Filename: "utildate.py"
  4. author:   "zhangsong"
  5. date  :   "2009-03-24"
  6. version:  "1.00"
  7. '''
  8. from time import strftime, localtime
  9. from datetime import timedelta, date
  10. import calendar
  11.  
  12. year = strftime("%Y",localtime())
  13. mon  = strftime("%m",localtime())
  14. day  = strftime("%d",localtime())
  15. hour = strftime("%H",localtime())
  16. min  = strftime("%M",localtime())
  17. sec  = strftime("%S",localtime())
  18.  
  19.  
  20. def today():
  21.     '''
  22.     get today,date format="YYYY-MM-DD"
  23.     '''
  24.     return date.today()
  25.  
  26. def todaystr():
  27.     '''
  28.     get date string
  29.     date format="YYYYMMDD"
  30.     '''
  31.     return year+mon+day
  32.  
  33. def datetime():
  34.     '''
  35.     get datetime,format="YYYY-MM-DD HH:MM:SS"
  36.     '''
  37.     return strftime("%Y-%m-%d %H:%M:%S",localtime())
  38.  
  39. def datetimestr():
  40.     '''
  41.     get datetime string
  42.     date format="YYYYMMDDHHMMSS"
  43.     '''
  44.     return year+mon+day+hour+min+sec
  45.  
  46. def getdayofday(n=0):
  47.     '''
  48.     if n>=0,date is larger than today
  49.     if n<0,date is less than today
  50.     date format = "YYYY-MM-DD"
  51.     '''
  52.     if(n<0):
  53.         n = abs(n)
  54.         return date.today()-timedelta(days=n)
  55.     else:
  56.         return date.today()+timedelta(days=n)
  57.  
  58. def getdaysofmonth(year,mon):
  59.     '''
  60.     get days of month
  61.     '''
  62.     return calendar.monthrange(year, mon)[1]
  63.  
  64. def getfirstdayofmonth(year,mon):
  65.     '''
  66.     get the first day of month
  67.     date format = "YYYY-MM-DD"
  68.     '''
  69.     days="01"
  70.     if(int(mon)<10):
  71.         mon = "0"+str(int(mon))
  72.     arr = (year,mon,days)
  73.     return "-".join("%s" %i for i in arr)
  74.  
  75. def getlastdayofmonth(year,mon):
  76.     '''
  77.     get the last day of month
  78.     date format = "YYYY-MM-DD"
  79.     '''
  80.     days=calendar.monthrange(year, mon)[1]
  81.     mon = addzero(mon)
  82.     arr = (year,mon,days)
  83.     return "-".join("%s" %i for i in arr)
  84.  
  85. def get_firstday_month(n=0):
  86.     '''
  87.     get the first day of month from today
  88.     n is how many months
  89.     '''
  90.     (y,m,d) = getyearandmonth(n)
  91.     d = "01"
  92.     arr = (y,m,d)
  93.     return "-".join("%s" %i for i in arr)
  94.  
  95. def get_lastday_month(n=0):
  96.     '''
  97.     get the last day of month from today
  98.     n is how many months
  99.     '''
  100.     return "-".join("%s" %i for i in getyearandmonth(n))
  101.   
  102. def get_today_month(n=0):
  103.     '''
  104.     get last or next month's today
  105.     n is how many months
  106.     date format = "YYYY-MM-DD"
  107.     '''
  108.     (y,m,d) = getyearandmonth(n)
  109.     arr=(y,m,d)
  110.     if(int(day)<int(d)):
  111.         arr = (y,m,day)
  112.     return "-".join("%s" %i for i in arr)
  113.  
  114. def getyearandmonth(n=0):
  115.     '''
  116.     get the year,month,days from today
  117.     befor or after n months
  118.     '''
  119.     thisyear = int(year)
  120.     thismon = int(mon)
  121.     totalmon = thismon+n
  122.     if(n>=0):
  123.         if(totalmon<=12):
  124.             days = str(getdaysofmonth(thisyear,totalmon))
  125.             totalmon = addzero(totalmon)
  126.             return (year,totalmon,days)
  127.         else:
  128.             i = totalmon/12
  129.             j = totalmon%12
  130.             if(j==0):
  131.                 i-=1
  132.                 j=12
  133.             thisyear += i
  134.             days = str(getdaysofmonth(thisyear,j))
  135.             j = addzero(j)
  136.             return (str(thisyear),str(j),days)
  137.     else:
  138.         if((totalmon>0) and (totalmon<12)):
  139.             days = str(getdaysofmonth(thisyear,totalmon))
  140.             totalmon = addzero(totalmon)
  141.             return (year,totalmon,days)
  142.         else:
  143.             i = totalmon/12
  144.             j = totalmon%12
  145.             if(j==0):
  146.                 i-=1
  147.                 j=12
  148.             thisyear +=i
  149.             days = str(getdaysofmonth(thisyear,j))
  150.             j = addzero(j)
  151.             return (str(thisyear),str(j),days)
  152.  
  153. def addzero(n):
  154.     '''
  155.     add 0 before 0-9
  156.     return 01-09
  157.     '''
  158.     nabs = abs(int(n))
  159.     if(nabs<10):
  160.         return "0"+str(nabs)
  161.     else:
  162.         return nabs
  163.  
  164. #print today()
  165. #print addzero(10)
  166. print get_today_month(-1)
  167. print get_lastday_month(3)
  168. print get_firstday_month(3)
分享到:
评论

相关推荐

    python 常用库速查表 备忘单 cheaksheets numpy pandas sklearn

    **Python常用库速查表** Python是一种广泛使用的高级编程语言,尤其在数据分析、机器学习和科学计算领域。这里我们关注的是一些核心的Python库,包括Numpy、Pandas、Scikit-learn(Sklearn)以及相关的数据处理和...

    基于python实现备忘记账系统论文.docx

    【标题】:基于Python实现备忘记账系统的论文 【描述】:本文主要探讨了如何使用Python编程语言设计并实现一个备忘记账系统。通过这个系统,用户可以方便地记录、管理和查询他们的日常财务收支,同时具备提醒功能,...

    6小时python教程_mosh.zip

    根据标题,我们可以期待从基础开始,例如安装Python环境、理解变量和运算符、输入输出操作,然后逐步深入到函数、模块、文件操作,再到面向对象编程。之后,可能会讲解Python在自动化领域的应用,如使用os和sys库...

    Python 速查表.zip

    Python3 中的新功能备忘单代码风格从头开始未来统一码列表放字典堆功能班级发电机打字时间文件操作系统高级备忘单正则表达式插座异步并发sqlalchemy安全SSH测试C 扩展附录为什么装饰器需要 @wraps异步编程指南幕后 ...

    个人备忘录

    个人备忘录是一种高效管理日常生活和工作事务的工具,它通过图形用户界面(GUI)为用户提供便捷的操作体验,使得记事、管理、检索信息变得简单易行。本备忘录系统设计旨在帮助用户有效组织他们的想法、任务和计划,...

    万年历备忘录

    在前端,备忘录的创建、编辑和显示可能通过图形用户界面(GUI)实现,使用诸如Tkinter(Python)、Swing(Java)或Qt(多语言跨平台框架)等库来构建。用户界面应简洁易用,允许用户输入文本、设置提醒、分类备忘录...

    jquery+bootstrap 实现简单备忘录

    例如,我们可以使用jQuery的`$(document).ready()`函数确保页面加载完成后执行初始化操作,使用`$.ajax()`方法发送异步请求,更新服务器上的备忘录数据。 Bootstrap是Twitter开发的开源前端框架,它提供了响应式...

    SQLite的小例子--备忘录

    例如,在Python中,可以使用`sqlite3.connect('备忘录.db')`来创建或打开名为“备忘录”的数据库文件。 2. 创建表:备忘录应用的核心是一个“备忘录”表,我们需要用SQL语句创建它。表结构可能包括ID(主键)、标题...

    使用Python制作自动推送微信消息提醒的备忘录功能

    本篇文章详细介绍了如何利用Python编程语言来制作一个可以自动向微信发送消息提醒的备忘录功能。这个备忘录功能旨在帮助用户管理日常任务和提醒事项,通过编程自动化将备忘事项通过微信消息发送给用户,从而避免了...

    PythonUsefulCodesMemo:Python有用的代码备忘

    Python有用的代码备忘 DataFrame_Header.py:使用lambda共同控制DataFrame列名 DataFrame_column_calculating.py:按列计算Pandas DataFrame count_runtime.py:计算文件的运行时间 make_folder.py:如果工作目录...

    记事本备忘录

    关于“记事本”部分,通常指的是一个基本的文本编辑器,如Windows操作系统中的“记事本”程序。它不支持复杂的格式化,如字体颜色、大小改变等,但提供了一个简洁的界面来快速输入和编辑纯文本。在编程领域,记事本...

    Python 学习笔记 第二版

    第二部分则是关于Python标准库的内容,涉及字符串、数据类型、数学运算、文件与目录、数据存储、数据压缩、格式解析、数据加密、操作系统和进程通信等。 7. 编程基础:笔记中提到了一系列编程概念,例如虚拟机、...

    beiwanglu.rar_备忘录代码

    3. 时间和日期处理:备忘录需要记录事件的时间,因此会涉及到时间戳、日期格式化和比较等操作。 4. 文件存储:为了持久化数据,备忘录应用可能使用文件系统存储数据,如JSON、XML或数据库格式。 5. 异常处理:良好...

    c-cpp-python:我的个人备忘单,用于学习CC ++和python编程语言,包括C ++中的STL库,numpy,sklearn和python的pandas

    pandas提供了易于使用的接口进行数据清洗、合并、重塑、切片和切块、分组、时间序列分析等操作。此外,pandas与numpy和scikit-learn紧密集成,方便进行数据预处理和模型构建。 学习C++和Python时,理解并熟练运用...

    Python学习笔记

    在标准库部分,笔记详细介绍了Python标准库中的各种模块,覆盖了字符串处理、数据类型、数学运算、文件与目录操作、数据存储、数据压缩、格式解析、数据加密、操作系统交互以及进程通信等领域。 除了上述知识点外,...

    Python 学习笔记

    - 本笔记主要作为作者个人的备忘录,同时也可供其他Python学习者参考。 **使用限制:** - 本书可自由传播,但禁止用于商业用途或未经授权的修改。 **内容特点:** - 内容以Python 2.7版本为主。 - 为了便于阅读,...

    用python解决数据结构和算法_python编程_

    - **排序算法**:包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,理解它们的时间复杂度和适用场景。 - **查找算法**:线性查找、二分查找、哈希查找,以及在不同数据结构中查找的效率比较。 -...

    动态规划+备忘录法 求最佳矩阵连乘

    总之,动态规划结合备忘录法是解决矩阵连乘问题的有效工具,通过构建正确的状态转移方程和利用备忘录存储中间结果,可以高效地找到最小操作数的矩阵乘法顺序。在实际编程中,我们应该注意优化算法的时间和空间复杂度...

    用Python实现23种设计模式.zip

    它们是经过时间考验、可重用的模式,有助于提升代码的可读性、可维护性和可扩展性。在这个“用Python实现23种设计模式.zip”压缩包中,包含的是将经典的23种GOF(Gang of Four)设计模式用Python编程语言实现的实例...

    能开机自动启动的日程备忘软件

    1. **定时任务调度**:日程备忘软件的核心是定时任务调度,通常采用编程语言中的定时器或计划任务库(如Java的ScheduledExecutorService,Python的APScheduler)来实现。它允许程序在预定的时间执行特定的代码,例如...

Global site tag (gtag.js) - Google Analytics