datetime
datetime模块¶
In [2]:
import datetime
# datetime模块提供对于日期和时间进行简单或复杂的操作. datetime 模块提供了一下的可用类型(Available Types).
# datetime.MINYEAR 和 datetime.MAXYEAR 模块常量表示datetime接受的范围
In [3]:
# class datetime.datetime: 日期和时间的组合.提供year, month, day, hour, minute, second, microsecond, tzinfo.
# class datetime.date: 一个理想化的日期, 提供year, month, day属性
# class datetime.time: 一个理想化的时间, 提供hour, minute, second, microsecond, tzinfo.
# class datetime.timedelta: 表达两个date,time和datetime持续时间内的微妙差异.
# class datetime.tzinfo: 时区信息对象.
datetime类¶
In [4]:
datetime.datetime.today()
# 返回当前本地datetime.随着 tzinfo None. 这个等同于datetime.fromtimestamp(time.time()).
Out[4]:
In [6]:
datetime.datetime.now()
# 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().
Out[6]:
In [7]:
datetime.datetime.utcnow()
# 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.
Out[7]:
In [10]:
import time
datetime.datetime.fromtimestamp(time.time())
# 根据时间戳返回本地的日期和时间.tz指定时区.
Out[10]:
In [11]:
datetime.datetime.utcfromtimestamp(time.time())
# 根据时间戳返回 UTC datetime.
Out[11]:
In [32]:
a = datetime.datetime.now().date()
b = datetime.datetime.now().time()
datetime.datetime.combine(a,b)
# 根据时间戳返回 UTC datetime.
Out[32]:
In [12]:
datetime.datetime.strptime("2018年3月21日","%Y年%m月%d日")
# 根据date_string和format返回一个datetime
Out[12]:
In [13]:
# 实例方法
c = datetime.datetime.now()
In [18]:
c
Out[18]:
In [15]:
c.date() # 返回相同年月日的date对象.
Out[15]:
In [16]:
c.time() # 返回相同时分秒微秒的time对象
Out[16]:
In [24]:
c.replace(2017) # 替换指定字段生成新的对象
Out[24]:
In [20]:
c.isoformat() # 返回符合ISO 8601标准 (YYYY-MM-DD) 的日期字符串
Out[20]:
In [21]:
c.isoweekday() # 返回符合ISO标准的指定日期所在的星期数(周一为1…周日为7)
Out[21]:
In [22]:
c.weekday() # 周一为 0, 周日为 6
Out[22]:
In [23]:
c.timetuple() # 兼容time.localtime(...)返回一个类型为time.struct_time的数组,
Out[23]:
In [29]:
# 日期字符串的输出
c.strftime("%Y-%m-%d %H-%M-%S")
Out[29]:
In [31]:
c.ctime()
Out[31]:
In [19]:
# 实例属性
# 年, 月, 日, 时, 分, 秒, 毫秒
c.year,c.month,c.day,c.hour,c.minute,c.second,c.microsecond
Out[19]:
date类和time类¶
In [33]:
# date对象由year年份、month月份及day日期三部分构成
# time对象由hour时、minute分、second秒以及microsecond毫秒四部分构成
timedelta类¶
In [35]:
# timedelta类是用来表示时间的差值的
# days, seconds, microseconds, milliseconds, minutes, hours, weeks
b = datetime.datetime.today()
print(b)
c = datetime.timedelta(days=8)
print(b - c)