Python中datetime常用时间处理方法

yipeiwu_com6年前Python基础

常用时间转换及处理函数:

import datetime
# 获取当前时间
d1 = datetime.datetime.now()
print d1
# 当前时间加上半小时
d2 = d1 + datetime.timedelta(hours=0.5)
print d2
# 格式化字符串输出
d3 = d2.strftime('%Y-%m-%d %H:%M:%S')
print d3
# 将字符串转化为时间类型
d4 = datetime.datetime.strptime(date,'%Y-%m-%d %H:%M:%S.%f')
print d4

获取本周和本月第一天的日期:

# -*- coding:utf-8 -*-
import datetime
def first_day_of_month():
  '''
  获取本月第一天
  :return:
  '''
  # now_date = datetime.datetime.now()
  # return (now_date + datetime.timedelta(days=-now_date.day + 1)).replace(hour=0, minute=0, second=0,
  # microsecond=0)
  return datetime.date.today() - datetime.timedelta(days=datetime.datetime.now().day - 1)
def first_day_of_week():
  '''
  获取本周第一天
  :return:
  '''
  return datetime.date.today() - datetime.timedelta(days=datetime.date.today().weekday())
if __name__ == "__main__":
  this_week = first_day_of_week()
  last_week = this_week - datetime.timedelta(days=7)
  this_month = first_day_of_month()
  last_month = this_month - datetime.timedelta(days=(this_month - datetime.timedelta(days=1)).day)
  print this_week
  print last_week
  print this_month
  print last_month
#! /usr/bin/python
# coding=utf-8

import datetime

"""
datetime的功能强大
能支持0001年到9999年
"""

"""
当前时间
返回的是一个datetime类型
now方法有个参数tz,设置时区类型。如果没有和方法today的效果一样
"""
now = datetime.datetime.now()
#UTC时间
datetime.datetime.utcnow()
attrs = [
("year","年"),('month',"月"),("day","日"),('hour',"小时"),( 'minute',"分"),( 'second',"秒"),( 'microsecond',"毫秒"),(
'min',"最小"),( 'max',"最大"),
]
for k,v in attrs:
  "now.%s = %s #%s" % (k,getattr(now, k),v)


"""
返回一个time结构
"""
now.timetuple() 

"""
返回一个date类型

"""
now.date()

"""
返回一个time类型

"""
now.time()

"""
当前星期几。星期一是0,星期于是6
注意这里是方法,不是属性哦。
"""
now.weekday()

"""
当前星期几。星期一是1,星期于是7
注意这里是方法,不是属性哦。
"""
now.isoweekday()

"""
修改当前时间。比如修改成当月1号
"""
now.replace(day=1)

past = datetime.datetime(2010,11,12,13,14,15,16)

"""
进行比较运算
返回的是timedelta类型

"""
now-past
"""
转成字符串
详细规则见Time篇

"""
strdatetime = now.strftime("%Y-%m-%d %H:%M:%S")
"""
字符串生成datetime对象
"""
datetime.datetime.strptime(strdatetime, "%Y-%m-%d %H:%M:%S")

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

python实现五子棋游戏

python实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下 话不多说,直接上代码: 全部工程文件,在GitHub:五子棋 效果预览: #!/usr/bin/...

完美解决python3.7 pip升级 拒绝访问问题

完美解决python3.7 pip升级 拒绝访问问题

python3.7 pip升级 拒绝访问 解决方案 pip install --upgrade pip --user ps:下面看下python中的for循环加强 #先执行外...

Python性能分析工具Profile使用实例

这篇文章主要介绍了Python性能分析工具Profile使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码优化的前提是需要了...

详解Python 多线程 Timer定时器/延迟执行、Event事件

Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征。这个类用来定义多久执行一个函数。 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都...

利用python修改json文件的value方法

做工程时遇到需要监听json文件,根据json文件中的key-value值作出相应处理的情形。为此写了修改json文件的python脚本供工程后续调用。 代码如下: # coding...