`
cobrano1
  • 浏览: 28585 次
  • 性别: 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库...

    个人备忘录

    个人备忘录是一种高效管理日常生活和工作事务的工具,它通过图形用户界面(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)来实现。它允许程序在预定的时间执行特定的代码,例如...

    一款小工具源码-备忘录源码

    4. **时间管理**:备忘录应用可能包含提醒功能,因此需要处理时间戳和闹钟触发器。这可能涉及到操作系统的定时器API或第三方库的使用。 5. **事件监听与处理**:应用需要监听用户的操作,如添加、编辑、删除备忘录...

Global site tag (gtag.js) - Google Analytics