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...
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
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...
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.
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
Comentarios
Estos de microsoft siempre innovando.
La cuestión es, ¿realmente sacarán el parche? Porque digo yo que en 4 años habrá otra versión del programa.-
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...
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)
Tienen 92 años para solucionarlo, pero que sepan que el 2100 no es bisiesto.
Entiendo que en Microsoft hay cosas que programan como el culo, pero esto en mi opinión es irrelevante
No esperaban que el programa durara activo tanto tiempo como para que reconociera el 2008
solo a Microsoft se le puede pasar una asi...
#6, si fuera un juego de coches sí sería irrelevante, pero en algo que como mínimo se usa de agenda...
Microsoft ignora más cosas que esa
Les falto ahí un if..else..
Primero descubro que hay inflación en el World of warcraft y ahora esto. El mundo está loco.
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
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
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?
para que salgan los años bisiestos tienes que tener la version super enterprise hyper business gold edition sp1... que no os enterais!
Ir al minuto 5.10
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
#13 Eso no funcionaría. Ahora, si en vez de Año pones Ano, por ejemplo...
#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)
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...
#19 Eres un guarro! No se hacen bromas escatológicas en programas ajenos.
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...
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...
¿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.
#23 Febrero no tiene Febrero
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
Los errores de Microsoft siempre son de base.
Este es un comentario bisiesto, sólo lo podrán leer quienes no usen productos Microsoft (versiones 2007)
¿En 2007 quién se iba a acordar de los años bisiestos cuando el último fue tres años antes?
#26 queria decir que febrero no tiene ese día