资讯专栏INFORMATION COLUMN

Python datatime库语法怎么使用呢?下面给大家解答

89542767 / 386人阅读

  小编写这篇文章的一个主要目的,主要是教给大家一些Python技巧性的内容,比如关于数据库语法的一些问题,那么,如何去正确的使用这个数据呢?有什么具体的使用方法呢?下面会给大家做一个详细解答。


  Python中datetime库的用法


  datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.

01.png

  datetime模块定义了5个类:
  1.datetime.date:表示日期的类
  2.datetime.datetime:表示日期时间的类
  3.datetime.time:表示时间的类
  from datetime import date
  from datetime import datetime
  from datetime import time
  from datetime import timedelta
  from datetime import tzinfo
  from datetime import*#不知道用啥全部导入就可以


  4.datetime.timedelta:表示时间间隔,即两个时间点的间隔


  5.datetime.tzinfo:时区的相关信息

02.png

  datetime.date


  date类有三个参数,datetime.date(year,month,day),返回year-month-day


  1.datetime.date.ctime(),返回格式如Sun Apr 16 00:00:00 2017


  2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同


  3.datetime.date.isocalendar():返回格式如(year,month,day)的元组,(2017,15,6)


  4.datetime.date.isoformat():返回格式如YYYY-MM-DD


  5.datetime.date.isoweekday():返回给定日期的星期(0-6)星期一=0,星期日=6这里表明下python3中是从[1-7]表示的就是本来是星期几现在显示就是星期几


  6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期


  7.datetime.date.strftime(format):把日期时间按照给定的format进行格式化。


  8.datetime.date.timetuple():返回日期对应的time.struct_time对象


  time.struct_time(tm_year=2017,tm_mon=4,tm_mday=15,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=5,tm_yday=105,tm_isdst=-1)


  9.datetime.date.weekday():返回日期的星期

03.png

  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当前时区的名称


  %%%号本身


  datetime的time类


  time类有5个参数:


  datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30


  1.datetime.time.replace()


  2.datetime.time.strftime(format):按照format格式返回时间


  3.datetime.time.tzname():返回时区名字


  4.datetime.time.utcoffset():返回时区的时间偏移量


  5.datetime的datetime类


  datetime类有很多参数,datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]),返回年月日,时分秒


  datetime.datetime.ctime()将datetime.datetime类型转化成str类型,输出:Sun Jul 28 15:47:51 2019


  datetime.datetime.now():返回当前系统时间:2019-07-28 15:42:24.765625


  datetime.datetime.now().date():返回当前日期时间的日期部分:2019-07-28


  datetime.datetime.now().time():返回当前日期时间的时间部分:15:42:24.750000


  datetime.datetime.fromtimestamp()


  datetime.datetime.replace()


  datetime.datetime.strftime():由日期格式转化为字符串格式


  datetime.datetime.now().strftime(’%b-%d-%Y%H:%M:%S’)


  ‘Apr-16-2017 21:01:35’


  datetime.datetime.strptime():由字符串格式转化为日期格式


  datetime.datetime.strptime(‘Apr-16-2017 21:01:35’,‘%b-%d-%Y%H:%M:%S’)


  2017-04-16 21:01:35


  datetime的timedelta类

04.png

  datetime.timedelta


  datetime.timedelta用来计算两个datetime.datetime或者datetime.date类型之间的时间差。


  def new(cls,days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0):


  从构造函数中来看,参数可选:days、seconds、microseconds、milliseconds、minutes、hours、weeks,且默认是0。


  比如说我们想知道300天前的今天是几号,可以这样实现:


  >>>now=datetime.datetime.now().date()
  >>>now
  datetime.date(2018,11,9)
  >>>delta=datetime.timedelta(days=300)
  >>>now-delta
  datetime.date(2018,1,13)


  datetime.timedelta()也可以多个参数,比如计算300天12小时前的时间。


  >>>now=datetime.datetime.now()
  >>>now
  datetime.datetime(2018,11,9,15,30,36,156323)
  >>>delta=datetime.timedelta(days=300,hours=12)
  >>>now-delta
  datetime.datetime(2018,1,13,3,30,36,156323)


  计算总天数和秒数。


  >>>datetime.timedelta(days=1,hours=2).days
  1
  >>>datetime.timedelta(days=1,hours=2).total_seconds()
  93600.0


  到此为止,这篇文章就给大家介绍完毕,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128304.html

相关文章

  • 使用Django+Pytest,教你搭建在线自动化测试平台

      小编写这篇文章的主要目的,就是教给大家,如何使用Django+Pytest,并用Django+Pytest搭建在线自动化测试平台,具体怎么做呢?下面给大家做一个详细的解答。  一、测试平台:  解决分散用例执行方式,提供统一测试用例执行过程、用例管理、测试报告  主要是基于:  fastapi+vue.js  django+vue.js  django  二、搭建过程  2.1使用django...

    89542767 评论0 收藏0
  • Python3出现SyntaxError:unexpected EOF while parsin错误怎么解答

      小编写这篇文章的主要目的,主要是给大家做出一个讲解,讲解的内容就是关于Python3中,出现了问题该怎么样去进行解答。包括出现SyntaxError:unexpected EOF while parsin这个问题要怎么做,下面给大家详细解答一下。  Python错误SyntaxError:unexpected EOF while parsing原因如下:  1语言用法的问题  这种问题的话,基...

    89542767 评论0 收藏0
  • 怎么python正则表达式提取/匹配中文汉字

      小编写这篇文章的一个主要目的,主要是给大家去做一个解答,解答的内容主要还是python相关事宜,比如,可以用python正则表达式去匹配和提取中文汉字,那么,具体的内容做法是什么呢?下面就给大家详细解答下。  python用正则表达式提取中文  Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用  unicode中中...

    89542767 评论0 收藏0
  • Python pyecharts如何绘制云图下面大家详解解答

      Python pyecharts作为常用的数据可视化软件,能够清晰的将海量的数据,去做一个拆分,要是更直观的去查看数据图表的话,就需要去制作云图了?那么,怎么制作云图呢?下面就给大家详细的做个解答。  词云图  什么是词云图,相信大家肯定不会感到陌生,一本书统计里面出现的词频,然后可视化展示,让读者快速的了解这个主题纲要,这就是词云的直接效果。  词云图系列模板  固定模式词云图  修改一些参...

    89542767 评论0 收藏0
  • 为什么离不开 Stackoverflow

    摘要:接下来手工实现了一个简单的装饰器原型,紧接着引入中的装饰器语法。最后还列出了一些装饰器的高级用法,包括给装饰器传递参数等。读完整个答案,一定能对装饰器有较深的理解,并且知道理解装饰器的思考过程。 作为一名程序员,如果没有听过 Stackoverflow,那么你最好去面壁思过一下。程序员最需要阅读的一本编程书籍(其实编程书留下这本就够了!): showImg(https://segmen...

    peixn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<