Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2017
Avatar de zeta2
zeta2 zeta2 is offline
Miembro
 
Registrado: feb 2007
Posts: 95
Poder: 18
zeta2 Va por buen camino
Talking Transformar un número de días en años, meses y días.

Estimados, busqué información en el foro sobre lo que les voy a consultar, pero sólo encontré sobre como restar entre dos fechas obteniendo el resultado en días.

Lo que necesito es pasar una cantidad en número de días a un formato fecha (AA/MM/DD).

por ejemplo 15 días = 00/00/15

65 días = 00/02/04

Quiero transformar un número de días en años, meses y días.

Alguien tiene alguna idea de como puedo resolver este problema?

De ante mano muchas gracias por sus respuestas.

Saludos.

Atte. Marco.
Responder Con Cita
  #2  
Antiguo 04-04-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Estrictamente no se si a lo que estás convirtiendo esos días es una fecha, por lo tanto creo que ninguna de las operaciones/funciones de fecha te va a servir.
Me explico. Creo que 00/00/04 no se puede considerar como una fecha, ya que primero, no existe el mes 00, por ejemplo, y lo que es más importante, creo que una fecha es un conjunto completo de días, meses y años. Porque no es lo mismo 35 días incluyendo el mes 2, que 35 días incluyendo el mes 3, puesto que ambos mese tienen diferentes días y los mismo pasa con los años bisiestos.

Por lo tanto decir que 65 días son 2 meses y 4 días no es correcto, porque depende del mes y del año (no se si me explico).
Creo que la opción simple es realizar el calculo manualmente, que por otro lado no tiene mayor complicación utilizando las funciones de DIV (división entera) y MOD (resto).

Algo así como dividir (DIV) los días entre 365 (para los años), el resto (MOD) dividirlo (DIV) entre 30 (para los meses) y el resto (MOD) serán los días. Siguiendo la lógica de tus ejemplos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 05-04-2017
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Como dice Neftali no tiene sentido esa conversión pero si lo tiene si partes de una fecha concreta y le añades una cantidad de días dada. No es lo mismo sumar a un año bisiesto que a otro que no lo es, tampoco es lo mismo partir de un mes que tiene 31 días que de otro que tiene 30. Por lo tanto, el problema solo tiene sentido si se parte de una fecha concreta.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular EDAD en años, meses y dias de una Persona MaMu Trucos 6 03-09-2013 00:57:24
Calcular fecha Fin dada fecha inicio y dias, meses o años transcurridos fide_uci HTML, Javascript y otros 1 15-11-2011 20:52:40
diferencia de dias , suponiendo que los meses son de 30 dias. ingabraham Varios 30 12-09-2010 23:37:48
Dias y meses romansiux Varios 5 13-06-2005 18:19:12
agrupar por dias meses y años en Interbase????? mguixot Conexión con bases de datos 0 03-10-2003 20:31:08


La franja horaria es GMT +2. Ahora son las 22:39:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi