【python】常用的日期和时间操作

#-*- coding: utf-8 -*-
import datetime

#给定日期向后N天的日期
def dateadd_day(days):
  d1 = datetime.datetime.now()
  d3 = d1 + datetime.timedelta(days)
  return d3

#昨天
def getYesterday():
  today = datetime.date.today()
  oneday = datetime.timedelta(days=1)
  yesterday = today - oneday
  return yesterday

#今天
def getToday():
  return datetime.date.today()

#获取给定参数的前几天的日期,返回一个list
def getDaysBefore(num):
  today = datetime.date.today()
  oneday = datetime.timedelta(days=1)
  li = []
  for i in range(0, num):
    #今天减一天,一天一天减
    today = today - oneday
    #把日期转换成字符串
    li.append(datetostr(today))
  return li

#将字符串转换成datetime类型
def strtodatetime(datestr, format):
  return datetime.datetime.strptime(datestr, format)

#时间转换成字符串,格式为2015-02-02
def datetostr(date):
  return str(date)[0:10]

#时间转换成字符串,格式为2015-02-02
def datetostr_secod(date):
  return str(date)[0:19]

#两个日期相隔多少天,例:2015-2-04和2015-3-1
def datediff(beginDate, endDate):
  format = "%Y-%m-%d"
  bd = strtodatetime(beginDate, format)
  ed = strtodatetime(endDate, format)
  oneday = datetime.timedelta(days=1)
  count = 0
  while bd != ed:
    ed = ed - oneday
    count += 1
  return count

#两个日期之间相差的秒
def datediff_seconds(beginDate, endDate):
  format = "%Y-%m-%d %H:%M:%S"
  if " " not in beginDate or ‘:‘ not in beginDate:
    bformat = "%Y-%m-%d"
  else:
    bformat = format
  if " " not in endDate or ‘:‘ not in endDate:
    eformat = "%Y-%m-%d"
  else:
    eformat = format
  starttime = strtodatetime(beginDate, bformat)
  endtime = strtodatetime(endDate, eformat)
  ret = endtime - starttime
  return ret.days * 86400 + ret.seconds

#获取两个时间段的所有时间,返回list
def getDays(beginDate, endDate):
  format = "%Y-%m-%d"
  begin = strtodatetime(beginDate, format)
  oneday = datetime.timedelta(days=1)
  num = datediff(beginDate, endDate) + 1
  li = []
  for i in range(0, num):
    li.append(datetostr(begin))
    begin = begin + oneday
  return li

#获取当前年份 是一个字符串
def getYear(date=datetime.date.today()):
  return str(date)[0:4]

#获取当前月份 是一个字符串
def getMonth(date=datetime.date.today()):
  return str(date)[5:7]

#获取当前天 是一个字符串
def getDay(date=datetime.date.today()):
  return str(date)[8:10]

#获取当前小时 是一个字符串
def getHour(date=datetime.datetime.now()):
  return str(date)[11:13]

#获取当前分钟 是一个字符串
def getMinute(date=datetime.datetime.now()):
  return str(date)[14:16]

#获取当前秒 是一个字符串
def getSecond(date=datetime.datetime.now()):
  return str(date)[17:19]

def getNow():
  return datetime.datetime.now()

print dateadd_day(10)
#2015-02-14 16:41:13.275000

print getYesterday()
#2015-02-03

print getToday()
#2015-02-04

print getDaysBefore(3)
#[‘2015-02-03‘, ‘2015-02-02‘, ‘2015-02-01‘]

print datediff(‘2015-2-01‘, ‘2015-10-05‘)
#246

print datediff_seconds(‘2015-02-04‘, ‘2015-02-05‘)
#86400

print datediff_seconds(‘2015-02-04 22:00:00‘, ‘2015-02-05‘)
#7200

print getDays(‘2015-2-03‘, ‘2015-2-05‘)
#[‘2015-02-03‘, ‘2015-02-04‘, ‘2015-02-05‘]

print datetostr_secod(getNow())
#2015-02-04 16:46:47

print str(getYear(dateadd_day(-50))) + ‘-‘  + getMonth() + ‘-‘  + getDay() + ‘ ‘  + getHour() + ‘:‘  + getMinute() + ‘:‘  + getSecond()
#2014-02-04 16:59:04

print getNow()

  

时间: 2024-10-11 06:11:30

【python】常用的日期和时间操作的相关文章

Python 常用的日期时间命令

今天用到自动添加当前时间,居然把之前的知识忘了,特整理常用的日期时间命令 代码: # 获取当前时间# import time# localtime = time.localtime(time.time())# print("本地时间为:",localtime)# # 获取格式划时间# import time# localtime = time.asctime(time.localtime(time.time()))# print("本地时间为:",localtime

python 3 之日期与时间处理模块(date和datetime)

前言相关术语的解释时间的表现形式time模块datetime模块时间格式码总结前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出计算某个功能的执行时间用日期命名一个日志文件的名称记录或展示某文章的发布或修改时间其他Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致.time模块

python全栈开发【第十篇】Python常用模块二(时间、random、os、sys和序列化)

一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=4, tm_sec=32, tm_wday=1, tm_yday=220, tm_isdst=0)像这样的就是结构化时间 #time模块的常用方法及三种时间之间的转换 import time # 对象:对象.方法 # --------

python时间戳、日期、时间转换

1.str转时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") print timeArray # timeArray可以调用tm_year等 print timeArray.tm_year # 2013 # 转为时间戳 timeStamp = int(time.mktime(timeArray)) print timeStamp

lua日期与时间操作

os.time()                <== 返回当前系统的日历时间os.date()                <== 返回本地化的时间字符串,这里是"11/28/08 17:23:37"os.date("%x", os.time()) <== 返回自定义格式化时间字符串(完整的格式化参数),这里是"11/28/08"os.clock()               <== 返回执行该程序CPU花去的时钟

Python工具 | 10个用于处理日期和时间的 Python 库

1??arrow 更好的 Python 日期时间操作类库. 官网 2??Chronyk Python 3 的类库,用于解析手写格式的时间和日期. GitHub 3??dateutil Python datetime 模块的扩展. GitHub 4??delorean 解决 Python 中有关日期处理的棘手问题的库. 官网 5??maya 人性化的时间处理库. GitHub 6??moment 一个用来处理时间和日期的 Python 库.灵感来自于?Moment.js. GitHub 7??pe

Python常用库大全,看看有没有你需要的

作者:史豹链接:https://www.zhihu.com/question/20501628/answer/223340838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环境的工具. virtualenvwrapp

Python常用库大全

环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环境的工具. virtualenvwrapper- virtualenv 的一组扩展. 包管理 管理包和依赖的工具. pip – Python 包和依赖关系管理工具. pip-tools – 保证 Python 包依赖关系更新的一组工具. conda

Python常用的标准库以及第三方库有哪些?

20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的.用过它之后你就不会再想用别的同类库了. wxPython.Python的一个GUI(图形用户界面)工具.我主要用它替代tkinter.你一定会爱上它的. Pillow.它是