Usuario:Kokoo/Contador de días

De Wikipedia, la enciclopedia libre

Variables empleadas[editar]

Fecha de referencia: |  Fecha actual (hoy): 

año0 = 2009          |  año1 = 2024
mes0 = 5            |  mes1 = 5
día0 = 9            |  día1 = 11

Outputs: año, mes, día

Cálculo de los años[editar]

IF (mes1 > mes0)
THEN año = año1 - año0
ELSE
    IF (mes1 < mes0)
    THEN año = año1 - año0 - 1
    ELSE 
        % mes1 == mes0
        IF (día1 >= día0)
        THEN año = año1 - año0
        ELSE año = año1 - año0 - 1
        ENDIF
    ENDIF
ENDIF

Resultado: 18 año(s) desde el 31 de diciembre de 2005.

Cálculo de los meses[editar]

IF (día1 >= día0)
THEN 
    IF (mes1 - mes0) >= 0
    THEN mes = mes1 - mes0
    ELSE mes = mes1 - mes0 + 12
    ENDIF
ELSE
    IF (mes1 - mes0) > 0
    THEN mes = mes1 - mes0 - 1
    ELSE mes = mes1 - mes0 + 11
    ENDIF
ENDIF

Resultado: 4 mes(es) desde el 31 de diciembre de 2005.

Cálculo de los días[editar]

IF (día1 >= día0)
THEN día = día1 - día0
ELSE 
    % Meses cuyo mes anterior tiene 30 días
    IF mes1 == 5 OR 7 OR 10 OR 12 
    THEN día = día1 - día0 + 30
    ELSE 
        % Meses cuyo mes anterior tiene 31 días
        IF mes1 == 1 OR 2 OR 4 OR 6 OR 8 OR 9 OR 11
        THEN día = día1 - día0 + 31
        ELSE
            % Febrero
            IF año1 mod 4 = 0
            THEN día = día1 - día0 + 29
            ELSE día = día1 - día0 + 28
            ENDIF
        ENDIF
     ENDIF
ENDIF

Resultado: 10 día(s) desde el 31 de diciembre de 2005.

Plantilla final[editar]

Han pasado 18 año(s), 4 mes(es) y 10 día(s) desde el 31 del 12 de 2005.

Retoques a la plantilla final[editar]

IF (año < 0)
THEN "Este usuario no sabe usar esta plantilla."
ELSE 
    IF (año == 1)
    THEN "..."
ENDIF