您的位置:首页 > 编程语言 > Python开发

Python笔记 - 时间就是金钱,datetime模块的详解

2017-07-07 20:09 916 查看

日期的方法表示有多种

Jul 8 2017

8 Jul 2017

8/7/2017

7/8/2017

检测是否为闰年的方法

import calendar  # 导入calendar包

print(calendar.isleap(1900))
print(calendar.isleap(2000))


Python 库中的日期和时间模块

datetime、time、calendar、dateutil

datetime模块

标准datetime模块,定义了4个主要的对象,每个对象有很多方法:

1)date 处理年、月、日

2)time 处理时、分、秒和微秒

3)datetime 处理日期和时间同时出现的情况

4)timedelta 处理日期和/或时间间隔

1. date对象

指定年、月、日创建一个date对象,这些值之后会变成对象的属性

使用isoformat() 打印一个date对象

备注:iso是指ISO 8601,一种表示日期和时间的国际化标准,这个标准的显示顺序是从一般(年)到特殊(日)。(例:年-月-日)

from datetime import date

today = date(2017,10,31)   # 指定年、月、日创建一个date对象,这些值之后会变成对象的属性
print(today)
print(today.day)
print(today.month)
print(today.year)
print(today.isoformat())   # 使用isoformat()打印一个date对象


结果:

2017-10-31

31

10

2017

2017-10-31

使用today()方法生成今天的日期

from datetime import date

now = date.today()
print(now)


结果为:

2017-07-07

2.timedelta对象

使用timedelta 对象实现date的加法

from datetime import date,timedelta

now = date.today()
one_day = timedelta(days=1)
tomorrow = now + one_day  # 目前的时间+1天
print(tomorrow)
print(now + 17*one_day)  # 目前的时间+17天
print(now - one_day)     # 目前的时间-1天


结果为:

2017-07-08

2017-07-24

2017-07-06

备注:date的范围是date.min(年 = 1,月 = 1,日 = 1) 到 date.max(年 = 9999,月 = 12,日 = 31),因此,不能使用它来进行和历史或者天文相关的计算。

3.time对象

datetime模块中的time对象用来表示一天中的时间

from datetime import time

noon = time(12,0,0)
print(noon)
print(noon.hour)  # 时
print(noon.minute)   # 分
print(noon.second)   # 秒
print(noon.microsecond)   # 微秒


结果:

12:00:00

12

0

0

0

注意:参数的顺序按照时间单位从大到小排列。如果没有参数,time会默认全部使用0。能够存储微秒,不代表能从计算机中得到准确的微秒。每秒的确取决于硬件和操作系统中的很多因素

4.datetime对象

datetime对象既包括日期也包括时间

from datetime import datetime

day = datetime(2017,7,7,19,36,5,7)  # 创建一个datetime对象
print(day)
print(day.isoformat())   # 中间的T把日期和时间分开


结果为:

2017-07-07 19:36:05.000007

2017-07-07T19:36:05.000007

datetime的now()方法,获取当前日期和时间

from datetime import datetime

now = datetime.now()
print(now)


结果为:

2017-07-07 19:42:46.843239

使用combine()方法把一个date对象和time对象合并成一个datetime对象

from datetime import datetime,date,time

this_time = time(19)
this_day = date.today()
day = datetime.combine(this_day,this_time)
print(day)


结果为:

2017-07-07 19:00:00

使用date()和time()方法从datetime中取出date和time部分

from datetime import datetime,date,time

day = datetime(2017,7,7,19)
print(day)
print(day.date())
print(day.time())


结果为:

2017-07-07 19:00:00

2017-07-07

19:00:00
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python