if (year modulo 4 is 0) and (year modulo 100 is not 0) or (year modulo 400 is 0)
then leap
else _no_leap_
(de Wikipedia)
#15:
Digo yo que tendrán que arreglarlo, porque si no a partir del 28 de febrero todos los dias de la seman estarán retrasados 1 día ¿no?
Es decir, si el 28 de febrero fué jueves, y el Exchange no tiene en cuenta que este año es bisiesto, el día 1 de marzo fué viernes, y hoy es lunes ¿no?
#5:
Tienen 92 años para solucionarlo, pero que sepan que el 2100 no es bisiesto.
#3:
Es que para que reconozca el año bisiesto, hay que actualizarse a Exchange 2008... A estas alturas y no conoceis aún la política de Microsoft...
Digo yo que tendrán que arreglarlo, porque si no a partir del 28 de febrero todos los dias de la seman estarán retrasados 1 día ¿no?
Es decir, si el 28 de febrero fué jueves, y el Exchange no tiene en cuenta que este año es bisiesto, el día 1 de marzo fué viernes, y hoy es lunes ¿no?
Lo que es la hostia es imaginarse a esos administradores de Exchange 2008 el día 29 intentando crear buzones y que no había manera, hasta que uno se entere del problema pueden pasar horas, quien se iba imaginar esto...
Public Function Comprobar(Año As Variant) As Boolean
If VarType(Año) = vbDate Then
Comprobar = (Day(DateSerial(Year(Año), 2, 29)) = 29)
Else
Comprobar = (Day(DateSerial(Año, 2, 29)) = 29)
End If
End Function
Lo mismo pasa con la web de la AEAT, si le das a consultar una declaración presentada el dia 29/02 te sale un error que dice que febrero no tiene ese mes...
¿Qué esperabais??es Exchange 2007 , no 2008. Este año se la trae floja. Muy diferente sería si el Windows server 2008 no se conociese el año 2008 ...si es que al final llega a salir antes del 2009, sinó tendrán que cambiarle el nombre.
Ya les paso yo el código, espero que me paguen una pasta por el tiempo ahorrado...
Public Function _Es_Bisiesto(Año_ As Integer) As Boolean
On Error GoTo _ErrorEs_Bisiesto_
If Año Mod 4 = 0 Then
If (Año Mod 100 = 0) And Not (Año Mod 400 = 0) Then
_Es_Bisiesto_ = False
Else
_Es_Bisiesto_ = True
End If
Else
_Es_Bisiesto_ = False
End If
Exit Function
_ErrorEs_Bisiesto:_
_Es_Bisiesto_ = False
End Function
Comentarios
Tienen 92 años para solucionarlo, pero que sepan que el 2100 no es bisiesto.
Es que para que reconozca el año bisiesto, hay que actualizarse a Exchange 2008... A estas alturas y no conoceis aún la política de Microsoft...
#13, más sencillo:
if (year modulo 4 is 0) and (year modulo 100 is not 0) or (year modulo 400 is 0)
then leap
else _no_leap_
(de Wikipedia)
Digo yo que tendrán que arreglarlo, porque si no a partir del 28 de febrero todos los dias de la seman estarán retrasados 1 día ¿no?
Es decir, si el 28 de febrero fué jueves, y el Exchange no tiene en cuenta que este año es bisiesto, el día 1 de marzo fué viernes, y hoy es lunes ¿no?
#6, si fuera un juego de coches sí sería irrelevante, pero en algo que como mínimo se usa de agenda...
Estos de microsoft siempre innovando.
#13 Eso no funcionaría. Ahora, si en vez de Año pones Ano, por ejemplo...
No esperaban que el programa durara activo tanto tiempo como para que reconociera el 2008
Entiendo que en Microsoft hay cosas que programan como el culo, pero esto en mi opinión es irrelevante
para que salgan los años bisiestos tienes que tener la version super enterprise hyper business gold edition sp1... que no os enterais!
Me estoy imaginando su implantación de años bisiestos:
if (year==2000) bisiesto=true;
else if (year==2004) bisiesto=true;
else bisiesto=false;
Actualizo: creo que el primer if me sobra, que de aquella no existía el exchange 2007
Microsoft ignora más cosas que esa
#19 Eres un guarro! No se hacen bromas escatológicas en programas ajenos.
Lo que es la hostia es imaginarse a esos administradores de Exchange 2008 el día 29 intentando crear buzones y que no había manera, hasta que uno se entere del problema pueden pasar horas, quien se iba imaginar esto...
Me acuerdo que en el primer boletín de programación que me hice en mi vida, uno de los primeros ejercicios era detectar si un año es bisiesto
Les falto ahí un if..else..
solo a Microsoft se le puede pasar una asi...
Primero descubro que hay inflación en el World of warcraft y ahora esto. El mundo está loco.
Imagino que no sólo este, sino todos los años bisiestos. (Que alguien haga la prueba de adelantar 4 años el reloj de su ordenador)
Tan solo remarcar (via http://msexchangeteam.com/archive/2008/02/29/448282.aspx) que el problema se reproduce solo si has reiniciado el servicio de Operador del Sistema durante el dia... cosa que no se hace muy a menudo...
De hecho, si reincias algun servicio de exchange, algo no va bien en tu sistema de correo...
Public Function Comprobar(Año As Variant) As Boolean
If VarType(Año) = vbDate Then
Comprobar = (Day(DateSerial(Year(Año), 2, 29)) = 29)
Else
Comprobar = (Day(DateSerial(Año, 2, 29)) = 29)
End If
End Function
#26 queria decir que febrero no tiene ese día
Lo mismo pasa con la web de la AEAT, si le das a consultar una declaración presentada el dia 29/02 te sale un error que dice que febrero no tiene ese mes...
¿Qué esperabais??es Exchange 2007 , no 2008. Este año se la trae floja. Muy diferente sería si el Windows server 2008 no se conociese el año 2008 ...si es que al final llega a salir antes del 2009, sinó tendrán que cambiarle el nombre.
Este es un comentario bisiesto, sólo lo podrán leer quienes no usen productos Microsoft (versiones 2007)
Ir al minuto 5.10
#23 Febrero no tiene Febrero
La cuestión es, ¿realmente sacarán el parche? Porque digo yo que en 4 años habrá otra versión del programa.-
¿En 2007 quién se iba a acordar de los años bisiestos cuando el último fue tres años antes?
Los errores de Microsoft siempre son de base.
Ya les paso yo el código, espero que me paguen una pasta por el tiempo ahorrado...
Public Function _Es_Bisiesto(Año_ As Integer) As Boolean
On Error GoTo _ErrorEs_Bisiesto_
If Año Mod 4 = 0 Then
If (Año Mod 100 = 0) And Not (Año Mod 400 = 0) Then
_Es_Bisiesto_ = False
Else
_Es_Bisiesto_ = True
End If
Else
_Es_Bisiesto_ = False
End If
Exit Function
_ErrorEs_Bisiesto:_
_Es_Bisiesto_ = False
End Function