python日期时间基本操作

1、取时间差

  import time
  before = time.time()
  func1()
  after = time.time()
  print(f"花费时间{after - before}")

time.time()会返回从1970年1月1日0点到到当前时间的经过和秒数,可以简称为秒数时间。

2、指定格式显示时间

  from datetime import datetime
  str(datetime.now()) # '2018-06-30 23:10:05.911420'
  # 指定输出格式
  datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  # 2019-02-24 16:56:55
  # 使用time库来格式化字符串
  time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

3、秒数时间转化为字符串表示

time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1434502529))

4、字符串时间转化为整数时间

int(time.mktime(time.strptime('2015-08-01 23:59:59', '%Y-%m-%d %H:%M:%S')))

5、ISO格式转化为本地时间

  import dateutil.parser
  ​
  # 字符串时间 转化为 datetime 对象
  dt = dateutil.parser.isoparse('2008-09-03T20:56:35.450686+00:00')
  ​
  # 转化为本地时区的 datetime 对象
  localdt = dt.astimezone(tz=None)
  # 产生本地格式 字符串
  localdt.strftime('%Y-%m-%d %H:%M:%S')

6、取某个时间对应年月日时分秒

from datetime import datetime
  datetime.now()
  # datetime.datetime(2018, 6, 30, 23, 3, 54, 238947)
  # 年
  datetime.now().year
  # 月
  datetime.now().month
  # 日
  datetime.now().day
  # 时
  datetime.now().hour
  # 分
  datetime.now().minute
  # 秒
  datetime.now().second
  # 毫秒
  datetime.now().microsecond
  # 取星期几用weekday方法
  # 0:星期一
  datetime.now().weekday()

7、取指字时间字符串对应星期几

  # 要计算2018年6月24日是星期几
  thatDay = "2018-6-24"
  # 先把字符串表示的日期转化为datetime对象
  theDay = datetime.strptime(thatDay, "%Y-%m-%d")
  # 再获取星期几
  theDay.weekday()

8、从某个时间点往前或后推一段时间

  thatDay = "2018-6-24"
  theDay = datetime.strptime(thatDay, "%Y-%m-%d").date()
  # 后推120天
  target = theDay + timedelta(days=120)
  print(target)
  print(target.weekday())
  # 前推120天
  target = theDay - timedelta(days=120)

9、取指定日期那周的周一

  thatDay = "2018-6-24"
  theDay = datetime.strptime(thatDay, "%Y-%m-%d").date()
  weekMonday = theDay - timedelta(days=theDay.weekday())

10、获取某个月总共有多少天

  from calendar import monthrange
  # monthrange返回的是元组
  # 第一个元素是指定月第一天是星期几
  # 第二个元素是指定月有多少天
  mr = monthrange(2011, 2)
  # 得到2011年2月有多少天
  print(mr[1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值