Python笔记

来源:互联网 发布:python基础书籍下载 编辑:程序博客网 时间:2024/06/15 07:46

日期的方法表示有多种

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 datetoday = 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 datenow = date.today()print(now)

结果为:
2017-07-07


2.timedelta对象

  • 使用timedelta 对象实现date的加法
from datetime import date,timedeltanow = 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 timenoon = 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 datetimeday = 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 datetimenow = datetime.now()print(now)

结果为:
2017-07-07 19:42:46.843239


  • 使用combine()方法把一个date对象和time对象合并成一个datetime对象
from datetime import datetime,date,timethis_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,timeday = 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