Python 时间库 datetime

dir(datetime)
Out[23]: 
['MAXYEAR',
 'MINYEAR',
 '__doc__',
 '__name__',
 '__package__',
 'date',
 'datetime',
 'datetime_CAPI',
 'time',
 'timedelta',
 'tzinfo']

包含的数据:
MAXYEAR -- 能表示的最大年份
MINYEAR -- 能表示的最小年份
datetime_CAPI  -- C语言api访问的对象,可以help(datetime.datetime_CAPI)
 
包含的对象:
    date -- 日期对象
    datetime -- 日期时间对象
    time -- 时间对象
    timedelta -- 日期时间间隔对象

    tzinfo -- 时区信息对象




import datetime

help(datetime)
Help on built-in module datetime:

NAME
    datetime - Fast implementation of the datetime type.

FILE
    (built-in)

CLASSES
    __builtin__.object
        date
            datetime
        time
        timedelta
        tzinfo
    
    class date(__builtin__.object)
     |  date(year, month, day) --> date object
     |  
     |  Methods defined here:
     |  
     |  __add__(...)
     |      x.__add__(y) <==> x+y
     |  
     |  __eq__(...)
     |      x.__eq__(y) <==> x==y
     |  
     |  __format__(...)
     |      Formats self with strftime.
     |  
     |  __ge__(...)
     |      x.__ge__(y) <==> x>=y
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __gt__(...)
     |      x.__gt__(y) <==> x>y
     |  
     |  __hash__(...)
     |      x.__hash__() <==> hash(x)
     |  
     |  __le__(...)
     |      x.__le__(y) <==> x<=y
     |  
     |  __lt__(...)
     |      x.__lt__(y) <==> x<y
     |  
     |  __ne__(...)
     |      x.__ne__(y) <==> x!=y
     |  
     |  __radd__(...)
     |      x.__radd__(y) <==> y+x
     |  
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __rsub__(...)
     |      x.__rsub__(y) <==> y-x
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __sub__(...)
     |      x.__sub__(y) <==> x-y
     |  
     |  ctime(...)
     |      Return ctime() style string.
     |  
     |  fromordinal(...)
     |      int -> date corresponding to a proleptic Gregorian ordinal.
     |  
     |  fromtimestamp(...)
     |      timestamp -> local date from a POSIX timestamp (like time.time()).
     |  
     |  isocalendar(...)
     |      Return a 3-tuple containing ISO year, week number, and weekday.
     |  
     |  isoformat(...)
     |      Return string in ISO 8601 format, YYYY-MM-DD.
     |  
     |  isoweekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 1 ... Sunday == 7
     |  
     |  replace(...)
     |      Return date with new specified fields.
     |  
     |  strftime(...)
     |      format -> strftime() style string.
     |  
     |  timetuple(...)
     |      Return time tuple, compatible with time.localtime().
     |  
     |  today(...)
     |      Current date or datetime:  same as self.__class__.fromtimestamp(time.time()).
     |  
     |  toordinal(...)
     |      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.
     |  
     |  weekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 0 ... Sunday == 6
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  day
     |  
     |  month
     |  
     |  year
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  max = datetime.date(9999, 12, 31)
     |  
     |  min = datetime.date(1, 1, 1)
     |  
     |  resolution = datetime.timedelta(1)
    
    class datetime(date)
     |  datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
     |  
     |  The year, month and day arguments are required. tzinfo may be None, or an
     |  instance of a tzinfo subclass. The remaining arguments may be ints or longs.
     |  
     |  Method resolution order:
     |      datetime
     |      date
     |      __builtin__.object
     |  
     |  Methods defined here:
     |  
     |  __add__(...)
     |      x.__add__(y) <==> x+y
     |  
     |  __eq__(...)
     |      x.__eq__(y) <==> x==y
     |  
     |  __ge__(...)
     |      x.__ge__(y) <==> x>=y
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __gt__(...)
     |      x.__gt__(y) <==> x>y
     |  
     |  __hash__(...)
     |      x.__hash__() <==> hash(x)
     |  
     |  __le__(...)
     |      x.__le__(y) <==> x<=y
     |  
     |  __lt__(...)
     |      x.__lt__(y) <==> x<y
     |  
     |  __ne__(...)
     |      x.__ne__(y) <==> x!=y
     |  
     |  __radd__(...)
     |      x.__radd__(y) <==> y+x
     |  
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __rsub__(...)
     |      x.__rsub__(y) <==> y-x
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __sub__(...)
     |      x.__sub__(y) <==> x-y
     |  
     |  astimezone(...)
     |      tz -> convert to local time in new timezone tz
     |  
     |  combine(...)
     |      date, time -> datetime with same date and time fields
     |  
     |  ctime(...)
     |      Return ctime() style string.
     |  
     |  date(...)
     |      Return date object with same year, month and day.
     |  
     |  dst(...)
     |      Return self.tzinfo.dst(self).
     |  
     |  fromtimestamp(...)
     |      timestamp[, tz] -> tz's local time from POSIX timestamp.
     |  
     |  isoformat(...)
     |      [sep] -> string in ISO 8601 format, YYYY-MM-DDTHH:MM:SS[.mmmmmm][+HH:MM].
     |      
     |      sep is used to separate the year from the time, and defaults to 'T'.
     |  
     |  now(...)
     |      [tz] -> new datetime with tz's local day and time.
     |  
     |  replace(...)
     |      Return datetime with new specified fields.
     |  
     |  strptime(...)
     |      string, format -> new datetime parsed from a string (like time.strptime()).
     |  
     |  time(...)
     |      Return time object with same time but with tzinfo=None.
     |  
     |  timetuple(...)
     |      Return time tuple, compatible with time.localtime().
     |  
     |  timetz(...)
     |      Return time object with same time and tzinfo.
     |  
     |  tzname(...)
     |      Return self.tzinfo.tzname(self).
     |  
     |  utcfromtimestamp(...)
     |      timestamp -> UTC datetime from a POSIX timestamp (like time.time()).
     |  
     |  utcnow(...)
     |      Return a new datetime representing UTC day and time.
     |  
     |  utcoffset(...)
     |      Return self.tzinfo.utcoffset(self).
     |  
     |  utctimetuple(...)
     |      Return UTC time tuple, compatible with time.localtime().
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  hour
     |  
     |  microsecond
     |  
     |  minute
     |  
     |  second
     |  
     |  tzinfo
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
     |  
     |  min = datetime.datetime(1, 1, 1, 0, 0)
     |  
     |  resolution = datetime.timedelta(0, 0, 1)
     |  
     |  ----------------------------------------------------------------------
     |  Methods inherited from date:
     |  
     |  __format__(...)
     |      Formats self with strftime.
     |  
     |  fromordinal(...)
     |      int -> date corresponding to a proleptic Gregorian ordinal.
     |  
     |  isocalendar(...)
     |      Return a 3-tuple containing ISO year, week number, and weekday.
     |  
     |  isoweekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 1 ... Sunday == 7
     |  
     |  strftime(...)
     |      format -> strftime() style string.
     |  
     |  today(...)
     |      Current date or datetime:  same as self.__class__.fromtimestamp(time.time()).
     |  
     |  toordinal(...)
     |      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.
     |  
     |  weekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 0 ... Sunday == 6
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from date:
     |  
     |  day
     |  
     |  month
     |  
     |  year
    
    class time(__builtin__.object)
     |  time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object
     |  
     |  All arguments are optional. tzinfo may be None, or an instance of
     |  a tzinfo subclass. The remaining arguments may be ints or longs.
     |  
     |  Methods defined here:
     |  
     |  __eq__(...)
     |      x.__eq__(y) <==> x==y
     |  
     |  __format__(...)
     |      Formats self with strftime.
     |  
     |  __ge__(...)
     |      x.__ge__(y) <==> x>=y
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __gt__(...)
     |      x.__gt__(y) <==> x>y
     |  
     |  __hash__(...)
     |      x.__hash__() <==> hash(x)
     |  
     |  __le__(...)
     |      x.__le__(y) <==> x<=y
     |  
     |  __lt__(...)
     |      x.__lt__(y) <==> x<y
     |  
     |  __ne__(...)
     |      x.__ne__(y) <==> x!=y
     |  
     |  __nonzero__(...)
     |      x.__nonzero__() <==> x != 0
     |  
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  dst(...)
     |      Return self.tzinfo.dst(self).
     |  
     |  isoformat(...)
     |      Return string in ISO 8601 format, HH:MM:SS[.mmmmmm][+HH:MM].
     |  
     |  replace(...)
     |      Return time with new specified fields.
     |  
     |  strftime(...)
     |      format -> strftime() style string.
     |  
     |  tzname(...)
     |      Return self.tzinfo.tzname(self).
     |  
     |  utcoffset(...)
     |      Return self.tzinfo.utcoffset(self).
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  hour
     |  
     |  microsecond
     |  
     |  minute
     |  
     |  second
     |  
     |  tzinfo
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  max = datetime.time(23, 59, 59, 999999)
     |  
     |  min = datetime.time(0, 0)
     |  
     |  resolution = datetime.timedelta(0, 0, 1)
    
    class timedelta(__builtin__.object)
     |  Difference between two datetime values.
     |  
     |  Methods defined here:
     |  
     |  __abs__(...)
     |      x.__abs__() <==> abs(x)
     |  
     |  __add__(...)
     |      x.__add__(y) <==> x+y
     |  
     |  __div__(...)
     |      x.__div__(y) <==> x/y
     |  
     |  __eq__(...)
     |      x.__eq__(y) <==> x==y
     |  
     |  __floordiv__(...)
     |      x.__floordiv__(y) <==> x//y
     |  
     |  __ge__(...)
     |      x.__ge__(y) <==> x>=y
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __gt__(...)
     |      x.__gt__(y) <==> x>y
     |  
     |  __hash__(...)
     |      x.__hash__() <==> hash(x)
     |  
     |  __le__(...)
     |      x.__le__(y) <==> x<=y
     |  
     |  __lt__(...)
     |      x.__lt__(y) <==> x<y
     |  
     |  __mul__(...)
     |      x.__mul__(y) <==> x*y
     |  
     |  __ne__(...)
     |      x.__ne__(y) <==> x!=y
     |  
     |  __neg__(...)
     |      x.__neg__() <==> -x
     |  
     |  __nonzero__(...)
     |      x.__nonzero__() <==> x != 0
     |  
     |  __pos__(...)
     |      x.__pos__() <==> +x
     |  
     |  __radd__(...)
     |      x.__radd__(y) <==> y+x
     |  
     |  __rdiv__(...)
     |      x.__rdiv__(y) <==> y/x
     |  
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |  
     |  __repr__(...)
     |      x.__repr__() <==> repr(x)
     |  
     |  __rfloordiv__(...)
     |      x.__rfloordiv__(y) <==> y//x
     |  
     |  __rmul__(...)
     |      x.__rmul__(y) <==> y*x
     |  
     |  __rsub__(...)
     |      x.__rsub__(y) <==> y-x
     |  
     |  __str__(...)
     |      x.__str__() <==> str(x)
     |  
     |  __sub__(...)
     |      x.__sub__(y) <==> x-y
     |  
     |  total_seconds(...)
     |      Total seconds in the duration.
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  days
     |      Number of days.
     |  
     |  microseconds
     |      Number of microseconds (>= 0 and less than 1 second).
     |  
     |  seconds
     |      Number of seconds (>= 0 and less than 1 day).
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     |  
     |  max = datetime.timedelta(999999999, 86399, 999999)
     |  
     |  min = datetime.timedelta(-999999999)
     |  
     |  resolution = datetime.timedelta(0, 0, 1)
    
    class tzinfo(__builtin__.object)
     |  Abstract base class for time zone info objects.
     |  
     |  Methods defined here:
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __reduce__(...)
     |      -> (cls, state)
     |  
     |  dst(...)
     |      datetime -> DST offset in minutes east of UTC.
     |  
     |  fromutc(...)
     |      datetime in UTC -> datetime in local time.
     |  
     |  tzname(...)
     |      datetime -> string name of time zone.
     |  
     |  utcoffset(...)
     |      datetime -> minutes east of UTC (negative for west of UTC).
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T

DATA
    MAXYEAR = 9999
    MINYEAR = 1
    datetime_CAPI = <capsule object "datetime.datetime_CAPI">



dir(datetime.date)
Out[24]: 
['__add__',
 '__class__',
 '__delattr__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__le__',
 '__lt__',
 '__ne__',
 '__new__',
 '__radd__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__rsub__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__sub__',
 '__subclasshook__',
 'ctime',
 'day',
 'fromordinal',
 'fromtimestamp',
 'isocalendar',
 'isoformat',
 'isoweekday',
 'max',
 'min',
 'month',
 'replace',
 'resolution',
 'strftime',
 'timetuple',
 'today',
 'toordinal',
 'weekday',
 'year']

包含的数据:
day -- 日号数值
month -- 月份数值
year -- 年份数值
max = datetime.date(9999, 12, 31)-- 最大的年、月、日的数值
min = datetime.date(1, 1, 1) -- 最小的年、月、日的数值
resolution = datetime.timedelta(1) -- 时间间隔单位为1天

包含的函数:
date(year, month, day) -- 构造函数,接受年、月、日三个参数,返回一个date object
ctime() -- 返回字符串格式的时间表示格式。不接受参数
fromordinal() -- 接受一个整型的天数数值,返回一个天数所等价的年数、月数、日数的date对象。
fromtimestamp() -- 接收一个浮点型的时间戳,返回一个从1970年起+时间戳的值对应的年、月、日的date对象。
isocalendar() -- 返回一个ISO标准的日历形式的3元元组,分别代表ISO year, week number, and weekday,不接收参数
isoformat() -- 返回一个ISO格式的日期字符串。格式为YYYY-MM-DD,不接收参数
isoweekday() -- 返回一个ISO格式的周表示。Monday == 1 ... Sunday == 7,不接收参数
replace() -- 返回一个替换指定日期字段的新date对象。参数3个可选参数,分别为year,month,day。注意替换是产生新对象,不影响原date对象。
strftime() -- 返回一个格式化的字符串形式日期。接收一个format参数,如:'%Y-%d-%m'
timetuple() -- 返回一个time的时间格式对象。等价于time.localtime()
today() -- 返回当前date或datetime对象。等价于fromtimestamp(time.time())
toordinal() -- 返回公元公历开始到现在的天数。公元1年1月1日为1
weekday() -- 返回日期表示的周期。Monday == 0 ... Sunday == 6

使用date对象中的函数,定义函数,获取本周和本月第一天的日期:

import datetime

def first_day_of_month():

  
  
   '''
   获取本月第一天
   :return:
   '''
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 2017-06-05 2017-05-29 2017-06-01 2017-05-01




dir(datetime.time)
Out[33]: 
['__class__',
 '__delattr__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__le__',
 '__lt__',
 '__ne__',
 '__new__',
 '__nonzero__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 'dst',
 'hour',
 'isoformat',
 'max',
 'microsecond',
 'min',
 'minute',
 'replace',
 'resolution',
 'second',
 'strftime',
 'tzinfo',
 'tzname',
 'utcoffset']
包含的数据:
hour -- 小时表示数值
microsecond -- 微秒表示数值
minute -- 分钟表示数值
second -- 秒表示数值
tzinfo -- 时区表示数值
max = datetime.time(23, 59, 59, 999999) -- 最大的时间表示数值
min = datetime.time(0, 0)  -- 最小的时间表示数值
resolution = datetime.timedelta(0, 0, 1) -- 时间间隔单位为分钟
 
包含的函数:
time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) -- 构造函数,返回一个time对象。所有参数均为可选
dst() -- 返回时区信息的描述。如果实例是没有tzinfo参数则返回空
isoformat() -- 返回ISO 8601格式字符串, HH:MM:SS[.mmmmmm][+HH:MM].
replace() -- 返回一个替换指定时间字段的新time对象。4个可选参数,分别为hour,minute,second,microsecond。注意替换是产生新对象,不影响原time对象。
strftime() -- 接收一个format参数,返回一个对应格式的字符串。如:'%H:%M:%S'
tzname() -- 返回时区的名称。如果实例是没有tzinfo参数则返回空
utcoffset() -- 返回self.tzinfo.utcoffset(self)


dir(datetime.datetime)
Out[25]: 
['__add__',
 '__class__',
 '__delattr__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__le__',
 '__lt__',
 '__ne__',
 '__new__',
 '__radd__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__rsub__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__sub__',
 '__subclasshook__',
 'astimezone',
 'combine',
 'ctime',
 'date',
 'day',
 'dst',
 'fromordinal',
 'fromtimestamp',
 'hour',
 'isocalendar',
 'isoformat',
 'isoweekday',
 'max',
 'microsecond',
 'min',
 'minute',
 'month',
 'now',
 'replace',
 'resolution',
 'second',
 'strftime',
 'strptime',
 'time',
 'timetuple',
 'timetz',
 'today',
 'toordinal',
 'tzinfo',
 'tzname',
 'utcfromtimestamp',
 'utcnow',
 'utcoffset',
 'utctimetuple',
 'weekday',
 'year']
继承自date的数据:
day
month
year

继承自date的函数:
fromordinal(...)
isocalendar(...)
isoweekday(...)
strftime(...)
today(...)
toordinal(...)
weekday(...)
 
包含的数据:
hour
microsecond
minute
second
tzinfo
max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
min = datetime.datetime(1, 1, 1, 0, 0)
resolution = datetime.timedelta(0, 0, 1)
 
包含的函数:
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])  -- 构造函数,返回一个datetime对象。year, month, day为必选参数
astimezone(...) -- 根据给定的timezone对象,返回转换为本地时区的timezone对象。
combine(...) -- 根据给定date, time对象合并后,返回一个对应值的datetime对象。
ctime(...) -- 返回ctime格式的字符串。
date(...) -- 返回具有相同year, month, day的date对象
dst(...) -- 返回self.tzinfo.dst(self).
fromtimestamp(...) -- 根据时间戳数值,返回一个datetime对象。
isoformat(...) -- 返回ISO 8601格式的字符串,如:YYYY-MM-DDTHH:MM:SS[.mmmmmm][+HH:MM]
now(...) -- 根据给定的时区,返回当地的当前时间。
replace(...) -- 返回一个替换了指定日期时间字段的新datetime对象
strptime(...) -- 根据string, format2个参数,返回一个对应的datetime对象。
time(...) -- 返回一个带有相同time,但没有tzinfo的time对象。
timetuple(...) -- 返回一个时间元素, 等价于time.localtime().
timetz(...) -- 返回一个带有相同time和tzinfo的time对象。 
tzname(...) -- 返回self.tzinfo.tzname(self).
utcfromtimestamp(...) -- 返回UTC时间戳的datetime对象,时间戳值为time.time()
utcnow(...) -- 返回UTC当前时间的datetime对象.
utcoffset(...) -- Return self.tzinfo.utcoffset(self).
utctimetuple(...) -- 返回UTC时间元组对象, 等价于time.localtime().


说明:
datetime.time对象调用了time模块的基础方法。并封装之。
datetime.date对象同样调用了time模块的基础方法,并封装之。
datetime.datetime对象继承了datetime.date类,并调用了time模块的方法。


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")

Out[69]: datetime.datetime(2017, 6, 5, 16, 30, 28)



dir(datetime.timedelta)
Out[36]: 
['__abs__',
 '__add__',
 '__class__',
 '__delattr__',
 '__div__',
 '__doc__',
 '__eq__',
 '__floordiv__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__le__',
 '__lt__',
 '__mul__',
 '__ne__',
 '__neg__',
 '__new__',
 '__nonzero__',
 '__pos__',
 '__radd__',
 '__rdiv__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__rfloordiv__',
 '__rmul__',
 '__rsub__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__sub__',
 '__subclasshook__',
 'days',
 'max',
 'microseconds',
 'min',
 'resolution',
 'seconds',
 'total_seconds']

包含的数据:
days -- 天数
microseconds -- 微秒数(>= 0 and less than 1 second).
seconds -- 秒数 (>= 0 and less than 1 day).
max = datetime.timedelta(999999999, 86399, 999999)
min = datetime.timedelta(-999999999)
resolution = datetime.timedelta(0, 0, 1)
 
包含的函数:
timedelta() -- 构造函数,接收3个参数,天、秒、微秒
total_seconds() -- 时间间隔的总秒数

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

import datetime

#获取当前时间
a = datetime.datetime.now()

print a
2017-06-05 16:26:11.957000

# 当前时间加上半小时
b = a + datetime.timedelta(hours = 0.5)
print b
2017-06-05 16:56:11.957000

# 格式化字符串输出
c = b.strftime('%Y-%m-%d %H:%M:%S')
print c
2017-06-05 16:56:11







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值