python_自定日历
>>> from datetime import date
>>> daysOfMonth=[31,28,31,30,31,30,31,31,30,31,30,31]
>>> def myCalendar(year,month):
start=date(year,month,1).timetuple().tm_wday
print('{0} year {1} month'.format(year,month).center(56))
print('t'.join('Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split()))
day =daysOfMonth[month-1]
if month==2:
if year%400==0 or (year%4==0 and year%100!=0):
day +=1
result=[' '*8 for i in range(start+1)]
result+=list(map(lambda d:str(d).ljust(8),range(day+1)))
for i,day in enumerate(result):
if i!=0 and i%7==0:
print()
print(day,end='')
print()
>>> def main(year,month=-1):
if type(year)!=int or year<1000 or year>10000:
print('Year error')
return
if type(month)==int:
if month==-1:
for m in range(1,13):
myCalendar(year,m)
elif month in range(1,13):
myCalendar(year,month)
else:
print('Month error')
return
else:
print('Month error')
return
>>> main(2017)
2017 year 1 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 2 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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
2017 year 3 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 4 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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
2017 year 5 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 6 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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
2017 year 7 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 8 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 9 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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
2017 year 10 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
2017 year 11 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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
2017 year 12 month
SundaytMondaytTuesdaytWednesdaytThursdaytFridaytSaturday
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 31
python_自定日历的更多相关文章
- 日历类Calendar
在早期的JDK版本中,日期(Date)类附有两大功能:(1)允许用年.月.日.时.分.秒来解释日期:(2)允许对表示日期的字符串进行格式化和句法分析.在JDK1.1中提供了类Calendar来完成第一 ...
- java util包概述
util是utiliy的缩写,意为多用途的,工具性质的包这个包中主要存放了:集合类(如ArrayList,HashMap等),随机数产生类,属性文件读取类,定时器类等类.这些类极大方便了Java编程, ...
- java.util包详解
介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...
- python_日历
>>> import datetime>>> Today=datetime.date.today()>>> Todaydatetime.date( ...
- js编写当天简单日历
之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日 ...
- SharePoint 2013 日历重叠功能简介
之前做了一个“SharePoint 2013 日历根据Category显示不同颜色”,然后大家留言说为什么不用SharePoint自带的日历重叠功能,所以自己尝试一下这个功能,和之前的博客进行一下对比 ...
- cocos2d-html5版日历组件
根据一as3版本给改编成成了js版的.as3版本的地址: http://download.csdn.net/detail/fengye513/2722289 胜利项目做的差不多了,由于项目用的是c+ ...
- jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
1. 使用方式, 引入相关js, css后, $(‘#div_name’).fullCalendar({//options}); 接受的是一个option对象 2. 普通属性 2.1. year, ...
- C#日历上显示节气、阴阳历节假日信息
近期在做一个工作日历,想在日历上设置工作日,显示请假.加班等相关信息,显示农历日期信息(包括农历日期.节日 .节气).公历信息(节假期). 不能不说,http://www.cnblogs.com/ho ...
随机推荐
- DBUtils架构分析
首先,我们看看DBUtils的组织架构图 一点一点来看,AbstructQueryRunner封装了PreparStatement的产生与装填,同时还包括了对数据库资源的关闭等操作.它有两个子类,Qu ...
- OpenCV轮廓检测,计算物体旋转角度
效果还是有点问题的,希望大家共同探讨一下 // FindRotation-angle.cpp : 定义控制台应用程序的入口点. // // findContours.cpp : 定义控制台应用程序的入 ...
- C语言之鞍点的查找
鞍点(Saddle point)在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点.在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点.在矩阵中,一个数在所在行中是最大值,在 ...
- JSP 知识基本
from:http://blog.csdn.net/caipeichao2/article/details/38589293 more:http://www.2cto.com/kf/web/jsp/4 ...
- obj-c编程19:关联对象
对于一些无法子类化的实例对象来说,如果希望将一个对象与其绑定该如何做呢? 以下示例虚构了一个HyConsoleAlert类,User类将会使用该类在控制台显示定制的告警.如果User中包括多个Aler ...
- 解决os x下gdb不能调试的问题
在较新的os x中使用gdb调试程序会发生 Unable to find Mach task port 之类的错误,这是由于新的os x内核禁止未授权的程序随意控制其他进程,如果不用root权限的话, ...
- Redis 协议为例谈简单的协议分析
怎样去研究一个协议的过程,协议的格式,好处,怎么样模拟发包等,下面是一个简单的过程记录. 研究的步骤: 协议相关的资料,RFC,官方文档等.弄清楚协议工作在4层还是7层,是二进制还是文本协议等 抓包, ...
- nasm预处理器(2)
多行宏 %macro: %macro foo 2 push rax push rbx mov rax,%1 mov rbx,%2 pop rbx pop rax %endmacro 宏名称后的数字代表 ...
- 使用XStream是实现XML与Java对象的转换(2)--别名
五.使用别名(Alias) 首先,有这样一段Java代码: import java.util.ArrayList; import java.util.List; import com.thoughtw ...
- 【基础】CSS实现多重边框的5种方式
简言 目前最优雅地实现多重边框的方案是利用CSS3 的 box-shadow属性,但如果要兼容老的浏览器,则需要选择其它的方案.本文简要地列举了几种多重边框的实现方案,大家可以根据项目实际及兼容性要求 ...