Tim heredó una aplicación de Visual Basic anterior a 2000 y escrita antes de VB .Net. El programa añade un solo cero a los años menores que 1000. Para la muerte de Caesar Augustus en 14 AD, produce «014». El formato de cuatro cifras sería «0014». Nunca se almacenaron fechas de ese periodo, y un formateo posterior volvió innecesaria la lógica.
El problema cabe en pocas líneas. El código verifica si el año es menor que 1000 e inserta un cero. Este relleno—supuestamente para fechas históricas como la fundación de la Tang Dynasty—falla ante cualquier año anterior a 1000 AD. Caesar Augustus murió en 14, lo que produce «014» en lugar de «0014». La aplicación nunca utilizó estas fechas. Un procesamiento posterior con tipos de fecha integrados vuelve esta lógica innecesaria. La notación húngara añade oscuridad; el prefijo vnt permanece sin explicación.
historical-date.vb
mnYear% = CInt(Year(vntDate))
If mnYear% < 1000 Then
msYear$ = "0" & Trim$(CStr(mnYear%))
Else
msYear$ = Trim$(CStr(mnYear%))
End If
El 17 de septiembre de 2026, Remy Porter mostró en CodeSOD un encabezado GPL de código de Oracle que repite «2013» a una escala difícil de justificar.…
El informe usa PowerShell para generar una lista alfabética de Active Directory mediante un rodeo largo. Un bucle de letras provoca una segunda búsque…
Claude Code, Cursor, Codex y el recién liberado como open source Grok Build ahora escriben software rápido. Un preprint de julio que puso a prueba a 8…
GitHub ha lanzado las pull requests apiladas en vista previa pública. La función divide los cambios grandes en una serie ordenada de pull requests peq…
Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.