Python中datetime常用时间处理方法
常用时间转换及处理函数:
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")
以上所述就是本文的全部内容了,希望大家能够喜欢。