ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python时间处理详解

2019-06-10 16:03:53  阅读:182  来源: 互联网

标签:return python datetime 处理 详解 def date print today


  1.获取当前时间的两种方法:

  import datetime,time

  now = time.strftime(%Y-%m-%d %H:%M:%S)

  print now

  now = datetime.datetime.now()

  print now

  2.获取上个月最后一天的日期(本月的第一天减去1天)

  last = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)

  print last

  3.获取时间差(时间差单位为秒,常用于计算程序运行的时间)

  starttime = datetime.datetime.now()

  #long running

  endtime = datetime.datetime.now()

  print (endtime - starttime).seconds

  4.计算当前时间向后10个小时的时间

  d1 = datetime.datetime.now()

  d3 = d1 + datetime.timedelta(hours=10)

  d3.ctime()

  其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如 datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数 (seconds)等。

  5.python中时间日期格式化符号:

  %y 两位数的年份表示(00-99)

  %Y 四位数的年份表示(000-9999)

  %m 月份(01-12)

  %d 月内中的一天(0-31)

  %H 24小时制小时数(0-23)

  %I 12小时制小时数(01-12)

  %M 分钟数(00=59)

  %S 秒(00-59)

  %a 本地简化星期名称

  %A 本地完整星期名称

  %b 本地简化的月份名称

  %B 本地完整的月份名称

  %c 本地相应的日期表示和时间表示

  %j 年内的一天(001-366)

  %p 本地A.M.或P.M.的等价符

  %U 一年中的星期数(00-53)星期天为星期的开始

  %w 星期(0-6),星期天为星期的开始

  %W 一年中的星期数(00-53)星期一为星期的开始

  %x 本地相应的日期表示

  %X 本地相应的时间表示

  %Z 当前时区的名称

  %% %号本身

  附上示例代码:

  代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#-*-coding:utf-8-*-

  import datetime, calendar

  def getYesterday():

  today=datetime.date.today()

  oneday=datetime.timedelta(days=1)

  yesterday=today-oneday

  return yesterday

  def getToday():

  return datetime.date.today()

  #获取给定参数的前几天的日期,返回一个list

  def getDaysByNum(num):

  today=datetime.date.today()

  oneday=datetime.timedelta(days=1)

  li=[]

  for i in range(0,num):

  #今天减一天,一天一天减

  today=today-oneday

  #把日期转换成字符串

  #result=datetostr(today)

  li.append(datetostr(today))

  return li

  #将字符串转换成datetime类型

  def strtodatetime(datestr,format):

  return datetime.datetime.strptime(datestr,format)

  #时间转换成字符串,格式为2008-08-02

  def datetostr(date):

  return str(date)[0:10]

  #两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天

  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

  #获取两个时间段的所有时间,返回list

  def getDays(beginDate,endDate):

  format=%Y-%m-%d;

  bd=strtodatetime(beginDate,format)

  ed=strtodatetime(endDate,format)

  oneday=datetime.timedelta(days=1)

  num=datediff(beginDate,endDate)+1

  li=[]

  for i in range(0,num):

  li.append(datetostr(ed))

  ed=ed-oneday

  return li

  #获取当前年份 是一个字符串

  def getYear():

  return str(datetime.date.today())[0:4]

  #获取当前月份 是一个字符串

  def getMonth():

  return str(datetime.date.today())[5:7]

  #获取当前天 是一个字符串

  def getDay():

  return str(datetime.date.today())[8:10]

  def getNow():

  return datetime.datetime.now()

  print getToday()

  print getYesterday()

  print getDaysByNum(3)

  print getDays('2008-10-01','2008-10-05')

  print '2008-10-04 00:00:00'[0:10]

  print str(getYear())+getMonth()+getDay()

  print getNow()

 

 

标签:return,python,datetime,处理,详解,def,date,print,today
来源: https://www.cnblogs.com/qfjavabd/p/10998176.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有