设为首页 收藏本站
查看: 1575|回复: 0

[经验分享] Python3: datetime模块

[复制链接]

尚未签到

发表于 2018-8-13 12:14:16 | 显示全部楼层 |阅读模式
  datetime模块定义了以下几个类:
  datetime.date: 表示日期的类,常用的属性有year, month, day;
  datetime.time: 表示时间的类,常用的属性有hour, minute, second, microsecond;
  datetime.datetime: 表示日期时间的类
  datetime.timedelta: 表示时间间隔,即两个时间点之间的长度
  datetime.tzinfo: 与时区有关的信息
  date类:
  date类表示一个日期(年、月、日)
  date类定义了一些常用的类方法和类属性:
  date.max  date.min: date对象所能表示的最大、最小日期;
  date.resolution: date对象表示日期的最小单位,这里是天;
  date.today(): 返回一个表示当前本地时间的date对象;
  date.fromtimestamp(timestamp): 根据给定的时间戳,返回一个date对象;
  example:
  date.fromtimestamp(time.time())
  date提供的实例方法和属性:
  date.year  date.month  date.day: 年、月、日
  date.replace(year, month, day): 生成一个新的日期对象,用参数指定的年月日代替原有对象中的属性(原有对象扔保持不变)
  date.timetuple(): 返回日期对应的time.struct_time对象;
  date.toordinal(): 返回日期对应的Gregorian Calendar日期;
  date.weekday(): 返回weekday,如果是星期一返回0,如果是星期二返回1等等
  date.isoweekday(): 返回weekday,如果是星期一返回1,如果是星期二返回2等等
  date.isocalendar(): 返回格式如(year, month, day)的元祖
  date.isoformat(): 返回格式如"YYYY-MM-DD"的字符串
  date.strftime(fmt): 自定义格式化字符串
  example:
  now = date(2017,9,3)
  tomorrow = now.replace(day=10)
  now.timetuple()
  now.weekday()
  now.isoweekday()
  now.isocalendar()
  now.isoformat()
  date还对某些操作进行了重载,它允许我们对日期进行一些操作:
  date2 = date1 + timedelta: 日期加上一个时间间隔,返回一个新的日期对象
  date2 = date1 - timedelta: 日期减去一个时间间隔,返回一个新的日期对象
  timedelta = date2 - date1: 两个日期相减,返回一个时间间隔对象,以天为单位
  date1 < date2: 两个日期进行比较
  example:
  now = date.today()
  next_month = now.replace(month=10)
  delta = next_month-now
  now + delta
  now < next_month
  time类:
  time类表示时间,由时、分、秒、微秒组成
  time类定义的类属性和类方法:
  time.min  time.max: time类所能表示的最小、最大时间;
  time.resolution: 时间的最小单位,这里是1微秒;
  time类提供的实例方法和属性:
  time.hour  time.minute  time.second  time.microsecond: 时、分、秒、微秒
  time.tzinfo: 时区信息
  time.replace([hour[,minute[,second[,microsecond[,tzinfo]]]]]): 创建一个新的时间对象,用参数指定代替原有对象中的属性(原有对象仍保持不变)
  time.isoformat(): 返回"HH:MM:SS"格式的字符串
  time.strftime(fmt): 返回自定义格式化字符串
  example:
  tm = time(18,43,34)
  tm.hour
  tm.minute
  tm.second
  tm.microsecond
  tm.isoformat()
  tm2 = tm.replace(minute=20)
  像date类一样,time;也可以对两个time对象进行比较、相加、相减或返回一个时间间隔
  datetime类:
  datetime是date与time的结合体,包括date和time的所有信息
  datetime类定义了一些常用的类方法和类属性:
  datetime.max  datetime.min: datetime对象所能表示的最大、最小日期;
  datetime.resolution: datetime对象表示日期的最小单位;
  datetime.today(): 返回一个表示当前本地时间的datetime对象;
  datetime.now([tz]): 返回一个表示当前本地时间的datetime对象,如果指定了tz,则获取tz参数所指定时区的本地时间;
  datetime.utcnow(): 返回一个当前UTC时间的datetime对象;
  datetime.fromtimestamp(timestamp[,tz]): 根据给定的时间戳,返回一个datetime对象,参数tz指定时区信息;
  datetime.utcfromtimestamp(timestamp): 根据时间戳创建一个datetime对象;
  datetime.combine(date,time): 根据date和time创建一个datetime对象;
  datetime.strptime(date_string, format): 将格式化字符串转换为datetime对象;
  example:
  datetime.max
  datetime.min
  datetime.resolution
  datetime.now()
  datetime.utcnow()
  datetime.fromtimestamp(time.time())
  datetime.utcfromtimestamp(time.time())
  datetime类提供的实例方法和属性在date和time中已经出现过,使用方法相同:
  datetime.[year|month|day|hour|minute|second|microsecond|tzinfo]
  datetime.date(): 获取date对象
  datetime.time(): 获取time对象
  datetime.replace([year[,month[,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]]]])
  datetime.timetuple(): 返回日期时间对应的time.struct_time对象;
  datetime.utctimetuple()
  datetime.toordinal():  返回日期对应的Gregorian Calendar日期时间
  datetime.weekday()
  datetime.isocalendar(): 返回格式如(year, month, day)的元祖
  datetime.isoformat([sep]): 返回格式如"YYYY-MM-DD HH:MM:SS"的字符串
  datetime.ctime(): 返回一个日期时间的C格式字符串
  datetime.strftime(format)
  example:
  now = datetime.now()
  now.date()
  now.time()
  tomorrow = now.replace(day=3)
  now.timetuple()
  now.toordinal()
  now.weekday()
  now.isoweekday()
  now.isocalendar()
  now.isoformat()
  now.ctime()
  timedelta类:
  timedelta对象代表两个时间之间的时间差,两个date或datetime对象相加减可以返回一个timedelta对象
  class timedelta([days,[second[,microsecond[,milliseconds[,minutes[,hours[,weeks]]]]]]])
  内部只存储days, seconds, microseconds
  example:
  now = datetime.now()
  now + timedelta(days=365)
  now + timedelta(days=1)
  now + timedelta(weeks=1)
  now + timedelta(hours=3)
  now + timedelta(minutes=10)
  now + timedelta(seconds=10)
  格式化字符串:
  %a: 星期的简写,如:Wed
  %A: 星期的全写,如:Wednesday
  %b: 月份的简写,如:Apr
  %B: 月份的全写,如:April
  %c: 日期时间的字符串表示,如:'Sat Sep  2 19:42:03 2017'
  %d: 日在这个月中的天数(是这个月的第几天)
  %f: 微秒
  %H: 小时,24小时制
  %I: 小时,12小时制
  %j: 日在年中的天数[001,366](是当年的第几天)
  %m: 月份
  %M: 分钟
  %p: AM或者PM
  %S: 秒,范围[00,61]
  %U: 周在当年的周数,当年的第几周,星期天作为周的第一天
  %w: 今天在这周的天数,范围[0,6],0表示星期天
  %W: 周在当年的周数,当年的第几周,星期一作为周的第一天
  %x: 日期字符串,如:04/07/10
  %X: 时间字符串,如:10:14:23
  %y: 2个数字表示的年份
  %Y: 4个数字表示的年份
  %z: 与UTC时间的间隔
  %Z: 时区名称
  example:
  dt = datetime.now()
  dt.strftime("%Y-%m-%d %H:%M:%S %f")
  dt.strftime("%y-%m-%d %I:%M:%S %p")
  dt.strftime("%c")
  dt.strftime("%x")
  dt.strftime("%X")
  dt.strftime("%a")
  dt.strftime("%A")
  dt.strftime("%j")
  dt.strftime("%U")

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-551174-1-1.html 上篇帖子: Python-Mysql数据库的管理 下篇帖子: Redis数据库--python交互
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表