本文整理汇总了Python中calendar.Calendar.itermonthdays2方法的典型用法代码示例。如果您正苦于以下问题:Python Calendar.itermonthdays2方法的具体用法?Python Calendar.itermonthdays2怎么用?Python Calendar.itermonthdays2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类calendar.Calendar
的用法示例。
在下文中一共展示了Calendar.itermonthdays2方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: meetup_day
# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
def meetup_day(year, month, name, ordinal):
wkday_dict = {'Monday':0, 'Tuesday':1,
'Wednesday':2, 'Thursday':3,
'Friday':4, 'Saturday':5,
'Sunday':6
}
wkday = wkday_dict[name]
cal = Calendar()
date_list = []
for day_date, weekday in cal.itermonthdays2(year, month):
if weekday == wkday and not day_date == 0:
date_list.append(day_date)
date_dict = {'1st':0, '2nd':1, '3rd':2, '4th':3, '5th':4}
if ordinal in date_dict:
day = date_list[date_dict[ordinal]]
elif ordinal == 'teenth':
for day_date in date_list:
if 12 < day_date < 20:
day = day_date
elif ordinal == 'last':
day = date_list[-1]
return date(year, month, day)
示例2: imprimir_planilla_asistencia
# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
def imprimir_planilla_asistencia(self,ano,mes):
##Para la impresion de la planilla de asistencia a clase
logging.debug("Vamos a imprimir la planilla de asistencia del mes %s del año %s"%(mes,ano))
fichero = get_print_path('Grupos')+"/Ficha_Asistencia_Mes%s_Grupo_%s.pdf"%(mes,self.g.id)
calendario = Calendar(0)
conversion = dict(lunes=0,martes=1,miercoles=2,jueves=3,viernes=4,sabado=5,domingo=6)
iter_mes = calendario.itermonthdays2(ano,mes)
##Comprobamos si este mes es el inicio del curso
try:
res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.inicio==True))
inicio = res[0].dia
logging.debug("El inicio del curso es el %s",inicio)
except:
##No es el inicio, ponemos a la variable inicio a 0 así el día siempre será mayor que 0
inicio = 0
##Comprobamos si este mes es el inicio del curso
try:
res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.fin==True))
fin = res[0].dia
logging.debug("El fin de curso es el %s",fin)
except:
logging.debug("No es el fin")
##No es el fin, ponemos a la variable fin a 31 así el día siempre será menor que 31
fin = 31
estiloHoja = getSampleStyleSheet()
story = []
## ##Vamos con la cabecera
## banner = os.path.join(_config.get_data_path(), 'media', 'banner_eide.png')
## img=Image(banner)
## story.append(img)
##Intro
estilo = estiloHoja['BodyText']
cadena = "<para alignment=center><b>RELACION DE DIAS LECTIVOS DEL MES %s %s</b></para>"%(nombre_mes(mes),ano)
story.append(Paragraph(cadena, estilo))
story.append(Spacer(0,20))
##Datos del docu: alumno, grupo, profes
cadena = "Grupo: <b>%s - %s</b>"%(self.g.id,self.g.nombre)
story.append(Paragraph(cadena, estilo))
cadena = "Curso: <b>%s</b>"%self.g.curso.nombre
story.append(Paragraph(cadena, estilo))
cadena = "Numero de alumnos: <b>%s</b>"%len(self.g.alumnos)
story.append(Paragraph(cadena, estilo))
story.append(Spacer(0,20))
##Lista de libros
for l in self.g.curso.libros:
cadena = "Libro: %s - %s"%(l.titulo,l.autor)+" Editorial: %s "%(l.editorial)
story.append(Paragraph(cadena, estilo))
cadena = " ISBN: %s"%(l.isbn)
story.append(Paragraph(cadena, estilo))
story.append(Spacer(0,20))
##Tabla con el horario
tabla =[['Día','Horario','Aula','Profesor']]
for c in self.g.clases:
tabla.append([c.dia_semana,c.horario,"%s - %s"%(c.aula.numero,c.aula.piso),"%s %s"%(c.profesor.nombre,c.profesor.apellido1)])
t = Table(tabla)
t.setStyle([('LINEABOVE', (0,0), (-1,0), 2, colors.black),('LINEBEFORE', (0,0), (0,-1), 2, colors.black),
('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),('LINEAFTER', (0,0), (-1,-1), 0.25, colors.black),
('LINEBELOW', (0,-1), (-1,-1), 2, colors.black),('LINEAFTER', (-1,0), (-1,-1), 2, colors.black),
('ALIGN', (1,1), (-1,-1), 'RIGHT')])
story.append(t)
story.append(Spacer(0,20))
##Tabla con los días
fila = ['Num.','F. Nac.','Apellidos, Nombre','Cnf.']
dia_old = []
for dia in iter_mes:
if dia[0] == 0:
continue
for clase in self.g.clases:
if conversion[limpiar_tildes(clase.dia_semana).lower()] == dia[1] :
##Comprobamos si no es festivo
res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.dia==dia[0],Festivo.q.inicio==False,Festivo.q.fin==False))
if not len(list(res)):
##Comrpobamos si ya hemos añadido ese día por tener 2h
##FIXME
if dia == dia_old:
debug("Ya habiamos añadido este día!")
##Sino comprobamos que el día sea después del inicio y antes del fin
elif ( dia[0] >= inicio and dia[0] <= fin ):
fila.append("%i"%(dia[0]))
else:
debug("El día %s esta antes o despues del inicio del curso!"%dia[0])
else:
debug("El día %s es festivo"%dia[0])
dia_old = dia
longitud = len(fila)
relleno = longitud - 3
tabla =[fila]
for asis in sorted(self.g.alumnos,key= lambda a: a.alumnoID):
a = asis.alumno
fila_alumno = [a.id,a.fecha_nacimiento,"%s %s, %s"%(a.apellido1,a.apellido2,a.nombre),asis.confirmado]
while not len(fila_alumno)==longitud:
fila_alumno.append(" ")
tabla.append(fila_alumno)
t = Table(tabla)
t.setStyle([('LINEABOVE', (0,0), (-1,0), 2, colors.black),('LINEBEFORE', (0,0), (0,-1), 2, colors.black),
('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),('LINEAFTER', (0,0), (-1,-1), 0.25, colors.black),
('LINEBELOW', (0,-1), (-1,-1), 2, colors.black),('LINEAFTER', (-1,0), (-1,-1), 2, colors.black),
#.........这里部分代码省略.........
示例3: __init__
# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
class FinnishFlagDays:
def __init__(self, year=None):
self.calendar = Calendar()
self.year = year or datetime.now().year
self.official_flag_days = {
date(self.year, 2, 28): u'Kalevalan päivä eli suomalaisen '
u'kulttuurin päivä',
date(self.year, 5, 1): u'Vappu eli suomalaisen työn päivä',
self.getMothersOrFathersDay(month=5): u'Äitienpäivä',
date(self.year, 6, 4): u'Puolustusvoimien lippujuhlan päivä eli '
u'Suomen marsalkka C.G.E. Mannerheimin '
u'syntymäpäivä',
self.getMidsummersDay() - timedelta(1): u'Juhannusaatto, Suomen '
u'lipun päivä',
self.getMidsummersDay(): u'Juhannuspäivä, Suomen lipun päivä',
date(self.year, 12, 6): u'Itsenäisyyspäivä',
}
self.unofficial_flag_days = {
date(self.year, 2, 5): u'J. L. Runebergin päivä',
date(self.year, 3, 19): u'Minna Canthin eli tasa-arvon päivä',
date(self.year, 4, 9): u'Mikael Agricolan päivä eli suomen kielen '
u'päivä',
date(self.year, 4, 27): u'Kansallinen veteraanipäivä',
date(self.year, 5, 12): u'J. V. Snellmanin päivä eli '
u'suomalaisuuden päivä',
self.getFallenHeroesDay(): u'Kaatuneitten muistopäivä',
date(self.year, 7, 6): u'Eino Leinon päivä eli runon ja suven '
u'päivä',
date(self.year, 10, 10): u'Aleksis Kiven päivä eli suomalaisen '
u'kirjallisuuden päivä',
date(self.year, 10, 24): u'Yhdistyneiden kansakuntien päivä',
date(self.year, 11, 6): u'svenska dagen, ruotsalaisuuden päivä',
self.getMothersOrFathersDay(month=11): u'Isänpäivä',
date(self.year, 12, 8): u'Jean Sibeliuksen päivä eli suomalaisen '
u'musiikin päivä',
}
def __call__(self, *args, **kwargs):
all_flag_days = {}
all_flag_days.update(self.official_flag_days)
all_flag_days.update(self.unofficial_flag_days)
return all_flag_days
def getMothersOrFathersDay(self, month):
"""
Returns mothers day for the given year. If there is no year given,
defaults to current year.
- Finnish mothers day is second Sunday in May.
- Finnish fathers day is second Sunday in November.
"""
counter = 0
for (day, weekday) in self.calendar.itermonthdays2(self.year, month):
if weekday == 6:
if counter == 0:
counter += 1
else:
return date(self.year, month, day)
def getMidsummersDay(self):
"""
Returns midsummerday for the given year. If there is no year given,
defaults to current year.
- Midsummers day is the Saturday between 20. and 26. days in June.
"""
for (day, weekday) in self.calendar.itermonthdays2(self.year, 6):
if day >= 20:
if day <= 26:
if weekday == 5:
return date(self.year, 6, day)
def getFallenHeroesDay(self):
"""
Returns date for flagging people fallen in war.
- Mays third Sunday.
"""
counter = 0
for (day, weekday) in self.calendar.itermonthdays2(self.year, 5):
if weekday == 6:
if counter < 2:
counter += 1
else:
return date(self.year, 5, day)
def sortFlagDays(self, days_dict):
"""Returns a list of tuples which contains flagdays in sorted order."""
return sorted(days_dict.iteritems())
def printFlagDays(self, flagdays):
sorted_days = self.sortFlagDays(flagdays)
for day in sorted_days:
print "%s: %s" % (day[0].strftime('%d.%m.%Y'), day[1])
#.........这里部分代码省略.........