Python Datetime模块和Calendar模块用法实例分析


Posted in Python onApril 15, 2019

本文实例讲述了Python Datetime模块和Calendar模块用法。分享给大家供大家参考,具体如下:

datetime模块

1.1 概述

datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用

1.2 模块中的类

datetime:同时有时间与日期
timedelta:表示时间间隔,即两个时间点的间隔:主要用于计算时间的跨度
tzinfo: 时区相关的信息
date : 只关注日期

2、获取系统当前时间

先导入模块:

import datetime
t1 = datetime.datetime.now()
print(t1)

输出:

2018-04-11 19:52:06.180339

3、获取指定时间

time2 = datetime.datetime(2018, 3, 28, 21, 59, 7, 95015)
print(time2)
print(type(time2))

输出:

2018-03-28 21:59:07.095015
<class 'datetime.datetime'>

4、将时间转为字符串

time1 = datetime.datetime.now()
time3 = time1.strftime("%Y-%m-%d")
print(time3)

输出:

2018-04-11

5、时间相减,返回一个时间间隔的对象

import datetime
import time
time1 = datetime.datetime.now()
time.sleep(3)
time2 = datetime.datetime.now()
time3 = time2 -time1
print(time1)
print(time2)
print(time3)
print(type(time3))
#间隔天数
print(time3.days)
# 间隔天数之外的时间转为秒
print(time3.seconds)

输出:

2018-04-11 20:06:11.439085
2018-04-11 20:06:14.440052
0:00:03.000967
<class 'datetime.timedelta'>
0
3

calendar模块

1、calendar模块有很广泛的方法用来处理年历和月历

导入模块

import calendar

2、calendar.month(year.month)

返回指定年月的日历【字符串类型】

print(calendar.month(2018,4))
print(type(calendar.month(2018,4)))

输出:

     April 2018
Mo Tu We Th Fr Sa Su
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

<class 'str'>

3、calendar.calendar(year)

返回指定年的日历【字符串类型】

4、calendar.firstweekday()

返回当前每周起始日期的设置

print(calendar.firstweekday())

输出:

0

5、calendar.isleap(year)

返回指定的年份是否为闰年,若是返回True,否则返回False

print(calendar.isleap(2016))

输出:

True

6、calendar.leapdays(year1,year2)

返回[year1,year2)之间闰年的总和。

print(calendar.leapdays(2000,2020))

输出:

5

7、calendar.monthrange(year,month)

返回一个元组(参数一,参数二)
参数一:当月的天数
参数二:当月第一天的日期码[0,6][周一,周日]

print(calendar.monthrange(2018,1))
print(calendar.monthrange(2018,2))
print(calendar.monthrange(2018,3))
print(calendar.monthrange(2018,4))

输出:

(0, 31)
(3, 28)
(3, 31)
(6, 30)

8、calendar.monthlendar(year,month)

返回指定月份以每一周为元素的一个二维列表。

print(calendar.monthcalendar(2018,4))

输出:

[[0, 0, 0, 0, 0, 0, 1], [2, 3, 4, 5, 6, 7, 8], [9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 20, 21, 22], [23, 24, 25, 26, 27, 28, 29], [30, 0, 0, 0, 0, 0, 0]]

9、calendar.weekday(year,month,day)

返回指定日期的日期码。

print(calendar.weekday(2018,4,1))

输出:

6

9、获取凌晨零点到23:59的时间

now = time.time()
midnight = now - (now % 86400) + time.timezone
pre_midnight = midnight - 86400
now_midnight = midnight - 1
start_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(pre_midnight)),
                  "%Y-%m-%d %H:%M:%S")
end_time = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(now_midnight)),
                 "%Y-%m-%d %H:%M:%S")

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 生成目录树及显示文件大小的代码
Jul 23 Python
Python中的__SLOTS__属性使用示例
Feb 18 Python
Python时间模块datetime、time、calendar的使用方法
Jan 13 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
Python爬虫实现简单的爬取有道翻译功能示例
Jul 13 Python
选择python进行数据分析的理由和优势
Jun 25 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
Python3实现二叉树的最大深度
Sep 30 Python
Tensorflow分批量读取数据教程
Feb 07 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
python实现腾讯滑块验证码识别
Apr 27 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 #Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 #Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 #Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 #Python
Python后台开发Django会话控制的实现
Apr 15 #Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 #Python
提升Python程序性能的7个习惯
Apr 14 #Python
You might like
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
文字幻灯片
2006/06/26 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
python中元类用法实例
2014/10/10 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
基于python3实现倒叙字符串
2020/02/18 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
python math模块的基本使用教程
2021/01/16 Python
python中time包实例详解
2021/02/02 Python
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
财务担保书范文
2014/04/02 职场文书
服务标语口号
2014/07/01 职场文书
孔子观后感
2015/06/08 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers