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]:
datetime.datetime(2018, 3, 31, 8, 59, 40, 474283)
In [6]:
datetime.datetime.now()
# 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().
Out[6]:
datetime.datetime(2018, 3, 31, 9, 1, 15, 354123)
In [7]:
datetime.datetime.utcnow()
# 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.
Out[7]:
datetime.datetime(2018, 3, 31, 1, 1, 54, 651647)
In [10]:
import time
datetime.datetime.fromtimestamp(time.time())
# 根据时间戳返回本地的日期和时间.tz指定时区.
Out[10]:
datetime.datetime(2018, 3, 31, 9, 4, 8, 250942)
In [11]:
datetime.datetime.utcfromtimestamp(time.time())
# 根据时间戳返回 UTC datetime.
Out[11]:
datetime.datetime(2018, 3, 31, 1, 5, 10, 777279)
In [32]:
a = datetime.datetime.now().date()
b = datetime.datetime.now().time()
datetime.datetime.combine(a,b)
# 根据时间戳返回 UTC datetime.
Out[32]:
datetime.datetime(2018, 3, 31, 9, 42, 28, 795887)
In [12]:
datetime.datetime.strptime("2018年3月21日","%Y年%m月%d日")
# 根据date_string和format返回一个datetime
Out[12]:
datetime.datetime(2018, 3, 21, 0, 0)
In [13]:
# 实例方法
c = datetime.datetime.now()
In [18]:
c
Out[18]:
datetime.datetime(2018, 3, 31, 9, 9, 34, 745434)
In [15]:
c.date() # 返回相同年月日的date对象.
Out[15]:
datetime.date(2018, 3, 31)
In [16]:
c.time() # 返回相同时分秒微秒的time对象
Out[16]:
datetime.time(9, 9, 34, 745434)
In [24]:
c.replace(2017) # 替换指定字段生成新的对象
Out[24]:
datetime.datetime(2017, 3, 31, 9, 9, 34, 745434)
In [20]:
c.isoformat() # 返回符合ISO 8601标准 (YYYY-MM-DD) 的日期字符串
Out[20]:
'2018-03-31T09:09:34.745434'
In [21]:
c.isoweekday() # 返回符合ISO标准的指定日期所在的星期数(周一为1…周日为7) 
Out[21]:
6
In [22]:
c.weekday() # 周一为 0, 周日为 6 
Out[22]:
5
In [23]:
c.timetuple() # 兼容time.localtime(...)返回一个类型为time.struct_time的数组,
Out[23]:
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=31, tm_hour=9, tm_min=9, tm_sec=34, tm_wday=5, tm_yday=90, tm_isdst=-1)
In [29]:
# 日期字符串的输出
c.strftime("%Y-%m-%d %H-%M-%S")
Out[29]:
'2018-03-31 09-09-34'
In [31]:
c.ctime()
Out[31]:
'Sat Mar 31 09:09:34 2018'
In [19]:
# 实例属性
# 年,    月,     日,  时,     分,     秒,        毫秒
c.year,c.month,c.day,c.hour,c.minute,c.second,c.microsecond
Out[19]:
(2018, 3, 31, 9, 9, 34, 745434)
 

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)
 
2018-03-31 09:48:18.294290
2018-03-23 09:48:18.294290
posted @ 2018-03-31 09:49  瓜田月夜  阅读(341)  评论(0编辑  收藏  举报