Visualización del día de la semana según el valor de fecha

Article Number:040743

Al utilizar una fórmula, puede mostrar el día de la semana para los valores de fecha.

Preparativos

  • Coloque un campo "Fecha" o "Fecha y hora" en el formulario de la aplicación.
    Especifique el código de campo del campo ("Fecha" para un campo "Fecha", o "Fecha_y_hora" para un campo "Fecha y hora").

  • Coloque un campo de "Texto" en el formulario. La configuración del código de campo es opcional.

  • En Ajustes varios, establezca un valor mayor o igual a 1 para Número de decimales a redondear.

Para obtener más información, consulte las páginas siguientes.
Descripción general de los códigos de campo
Configuración de los dígitos significativos de los números y el método Redondeo

Fórmula

En el cuadro de diálogo de configuración del campo "Texto", seleccione Calcular automáticamente e ingrese una de las siguientes fórmulas.
La fórmula que se establecerá para el campo "Texto" difiere dependiendo de si el otro campo colocado en el formulario de la aplicación es un campo "Fecha" o un campo "Fecha y hora".

Fórmula a utilizar cuando se coloca un campo "Fecha" en el formulario de la aplicación

El contenido ha sido copiado.
IF( ( ( (Date / 60 / 60 / 24) - 0) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 0) / 7 ) , 0) = 0 , "Thursday",
  IF( ( ( (Date / 60 / 60 / 24) - 1) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 1) / 7 ) , 0) = 0 , "Friday",
    IF( ( ( (Date / 60 / 60 / 24) - 2) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 2) / 7 ) , 0) = 0 , "Saturday",
      IF( ( ( (Date / 60 / 60 / 24) - 3) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 3) / 7 ) , 0) = 0 , "Sunday",
        IF( ( ( (Date / 60 / 60 / 24) - 4) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 4) / 7 ) , 0) = 0 , "Monday",
          IF( ( ( (Date / 60 / 60 / 24) - 5) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 5) / 7 ) , 0) = 0 , "Tuesday",
            IF( ( ( (Date / 60 / 60 / 24) - 6) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 6) / 7 ) , 0) = 0 , "Wednesday","N/A"
            )
          )
        )
      )
    )
  )
)

Fórmula a utilizar cuando se coloca un campo "Fecha y hora" en el formulario de la aplicación

El contenido ha sido copiado.
IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 0) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date and time+(60 * 60 * 9))/ 60 / 60 / 24)) - 0) / 7 ) , 0) = 0 , "Thursday",
  IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 1) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 1) / 7 ) , 0) = 0 , "Friday",
    IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 2) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 2) / 7 ) , 0) = 0 , "Saturday",
      IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 3) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 3) / 7 ) , 0) = 0 , "Sunday",
        IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 4) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 4) / 7 ) , 0) = 0 , "Monday",
          IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 5) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 5) / 7 ) , 0) = 0 , "Tuesday",
            IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 6) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 6) / 7 ) , 0) = 0 , "Wednesday","N/A"
            )
          )
        )
      )
    )
  )
)

Explicación Fórmula

Las fórmulas en Kintone tratan los valores en los campos "Fecha" y "Fecha y hora" como hora Unix, que es la cantidad de segundos transcurridos desde 1970-1-1 00:00 UTC (hora universal coordinada).

Para obtener más información, consulte la página siguiente.
Cómo se tratan los valores de Campos Fecha, Hora y Fecha y hora

En las fórmulas de esta página, el valor de fecha ingresado en un campo se convierte al número de días transcurridos desde la época de Unix y luego se calcula. El día de la semana que corresponde a un valor de fecha se muestra utilizando el concepto de dividir el número de días transcurridos desde la época de Unix por 7 (el número de días de una semana) y luego determinar el día de la semana según el resto.

  • Examples:
    • Si ingresa el 1 de abril de 2021:
      El número de días que han transcurrido desde Jueves 1 de enero de 1970 es 18.718.
      18,718 dividido por 7 es 2,674 y el resto es 0.
      Esto significa que el 1 de abril de 2021 son exactamente 2674 semanas después Jueves 1 de enero de 1970. Como la fecha es 0 días después Jueves, el día de la semana debe ser Jueves.
      En otras palabras, el día de la semana siempre es Jueves cuando el número de días transcurridos desde el 1 de enero de 1970 se divide por 7 y el resto es 0.

    • Si ingresa el 2 de abril de 2021:
      El número de días que han transcurrido desde el Jueves 1 de enero de 1970 es 18.719.
      18,719 dividido por 7 es 2,674 y el resto 1.
      Esto significa que el 2 de abril de 2021 son 2674 semanas y un día después Jueves 1 de enero de 1970. Debido a que la fecha es un día después Jueves, el día de la semana debe ser Viernes.
      En otras palabras, el día de la semana siempre es Viernes cuando se divide el número de días transcurridos desde el 1 de enero de 1970 entre 7 y el resto es 1.

En los ejemplos anteriores, el resto devuelto después de dividir el número de días transcurridos desde la época de Unix por 7 se utiliza para encontrar el día de la semana de la siguiente manera.

A) Cuando se divide el número de días transcurridos entre 7 y se devuelve resto 0: Jueves
B) Cuando se divide el número de días transcurridos entre 7 y da resto 1: Viernes
C) Cuando se divide el número de días transcurridos entre 7 y se obtiene el resto 2: Sábado
D) Cuando se divide el número de días transcurridos entre 7 y se obtiene el resto 3: Domingo
E) Cuando se divide el número de días transcurridos entre 7 y se obtiene el resto 4: Lunes
F) Cuando se divide el número de días transcurridos entre 7 y se obtiene el resto 5: Martes
G) Cuando se divide el número de días transcurridos entre 7 y se obtiene el resto 6: Miércoles

Sin embargo, las funciones de cálculo de Kintone no se pueden utilizar para encontrar restos.
Por esta razón, en lugar de determinar el día de la semana directamente del resto, el día de la semana se determina restando el valor del resto del número de días transcurridos y calculando un valor que sea divisible por 7.

Para calcular un valor que es divisible por 7, el valor restante se devuelve como un número decimal, que luego se redondea al número entero más cercano usando la función ROUNDUP.

Cuando la diferencia de restar [(el número de días transcurridos - X) dividido por 7] de [el cociente de dividir (el número de días transcurridos - X) entre 7 redondeado a un número entero usando la función ROUNDUP] es 0, se determina que un valor es divisible por 7 (o, en otras palabras, tiene un resto de 0). El día de la semana se determina entonces de la siguiente manera.

A) Cuando se divide el número de días transcurridos menos 0 entre 7 y se devuelve resto 0: Jueves
B) Cuando se divide el número de días transcurridos menos 1 entre 7 y se devuelve resto 0: Viernes
C) Cuando se divide el número de días transcurridos menos 2 entre 7 y se devuelve resto 0: Sábado
D) Cuando se divide el número de días transcurridos menos 3 entre 7 y se devuelve resto 0: Domingo
E) Cuando se divide el número de días transcurridos menos 4 entre 7 y se devuelve resto 0: Lunes
F) Cuando se divide el número de días transcurridos menos 5 entre 7 y se devuelve resto 0: Martes
G) Cuando se divide el número de días transcurridos menos 6 entre 7 y da resto 0: Miércoles

Para obtener información sobre la función ROUNDUP, consulte la página siguiente.
Funciones ROUND, ROUNDUP y ROUNDDOWN ABAJO: Redondear valores numéricos, redondear hacia arriba y hacia abajo