Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

151
Vistas
f7DatePicker seleccionando el día anterior dependiendo de la zona horaria

Cargué mi aplicación R Shiny (usando el paquete shinyMobile) a Google Cloud Run usando un Dockerfile, y descubrí que la fecha devuelta por f7DatePicker no coincide con el valor en el widget en sí. Entonces, si pongo 2021-08-02, la fecha real que devuelve (mirando el valor 'input$x') es 2021-08-01, aunque la fecha que se muestra en el widget es 2021-08-02.

SIN EMBARGO, parece que esto solo ocurre para usuarios en zonas horarias particulares. Actualmente me encuentro en Nueva Zelanda y descubro que este problema ocurre con la aplicación móvil para usuarios de Nueva Zelanda; sin embargo, cuando intento ejecutar la aplicación en un servidor en los EE. UU. (es decir, a través de Browserstack), la fecha se devuelve correctamente. PERO cuando ejecuto la aplicación localmente en mi escritorio (en Nueva Zelanda), no tengo este problema. Así que no estoy seguro de si el problema está en el servidor o en el cliente.

Es posible que el problema se deba al horario de verano (ver este enlace ), pero mi servidor local funciona bien, por lo que si este fuera el caso, tendría que ser la interacción entre Cloud Run y el dispositivo móvil de alguna manera.

Aquí está el código que estoy usando para calcular client_time y time_zone_offset (basado en este enlace :)

JavaScript:

 HTML('<input type="text" id="client_time" name="client_time" style="display: none;"> '), HTML('<input type="text" id="client_time_zone_offset" name="client_time_zone_offset" style="display: none;"> '), tags$script(' $(function() { var time_now = new Date() $("input#client_time").val(time_now.getTime()) $("input#client_time_zone_offset").val(time_now.getTimezoneOffset()) });')

Brillante: (en server.r)

 client_time <<- as.numeric(input$client_time) / 1000 # in s time_zone_offset <<- as.numeric(input$client_time_zone_offset) * 60 # s from GMT curr_datetime <<- as_datetime(client_time - time_zone_offset)

¿Alguna idea de cuál podría ser el problema?

Muchas gracias

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda