Cómo usar fechas y horas con Google Apps Script

Este artículo se ha usado para el proyecto : Organizador de emails

En ocasiones necesitamos la fecha o la hora actual en nuestras automatizaciones con GAS.

La forma más sencilla es obtenerla directamente de javascript.

El siguiente ejemplo es suficientemente claro para ver como funciona:

function Hora()
{
   var now     = new Date();
   var year    = now.getFullYear();
   var month   = now.getMonth() + 1;
   var day     = now.getUTCDate();
   var hora    = now.getHours();
   var minutos = now.getMinutes();

   var string = day + "/" + month + "/" + year + "-" + hora + ":" +  minutos + "\n";

   SpreadsheetApp.getUi().prompt(string) ;

}


Si ejecutáis el script veréis algo del estilo de la imagen.

Ya veis que es sencillo y tiene pocas complicaciones.

16 comentarios:

  1. gracias por el ejemplo.
    Hay alguna función monthname para convertir a txt!!?

    ResponderEliminar
  2. Me parece que lo más rápido será implementar una función para que lo haga... Lo poco que he visto del tema no parece funcionar. Un poco más tarde me lo sigo mirando, gran pregunta.

    ResponderEliminar
  3. Y como hago para obtener el dia no como fecha(1,3,12,24) sino como texto (lunes,martes,jueves...). Agradecería bastante su pronta respuesta.

    ResponderEliminar
    Respuestas
    1. var dias_semana = ["domingo","lunes","martes","miercoles","jueves","viernes","sábado" ];
      Logger.log( dias_semana[now.getUTCDay()] );

      Con esto deberias tenerlo... ya que la respuesta ha sido pronta, en manera de agradecimiento podrías seguir la página o compartirla :D :D :D

      Nos vemos

      Eliminar
  4. hola como hago para escribirlo en una celad especifica una vez y otra sea modificada?

    ResponderEliminar
    Respuestas
    1. Creo que este artículo te servirá: http://googleappscriptsweb.blogspot.com.es/2015/02/como-escribir-en-una-celda-de-una-hoja.html

      Eliminar
  5. Buenos días,
    ¿Puede el formulario autorellenarse calculando la edad de la persona que rellena el formulario?
    Y, si es así, ¿puede el formulario saltar a una sección dependiendo del valor del campo "edad"?
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola,

      Se puede hacer que el formulario al rellenarse se apunte en el spreadsheet como se quiera, así que si, se podría calcular la edad.

      Ahora bien, capar secciones no veo el como. Tal vez sea posible pero desconozco como hacerlo.

      Gracias por todo

      Nos vemos

      Eliminar
    2. Gracias por responder tan rápido,
      Otra pregunta: ¿puede el formulario redirigirte a un enlace (un google doc, por ejemplo) según la respuesta dada?
      Gracias

      Eliminar
    3. Hasta donde yo se no, PERO, si le pides el correo dentro del formulario le podrias enviar a su correo el link al documento que tu quieras. No se si te serviria

      Nos vemos

      Eliminar
  6. Hola, hay alguna forma de obtener el día actual dentro de un input en app script?

    ResponderEliminar
    Respuestas
    1. No acabo de entenderte.... un "input en app script"..... Dame algún ejemplo o intenta especificar un poco más y te diré , si se, como hacerlo. En principio, todo lo referente a fechas deberia servirte este artículo..
      Coméntamelo y lo miramos

      Eliminar
  7. Hola! muchas gracias por el tutorial! tengo una consulta:
    Por alguna razón, pasadas las 20:00 hrs, el día pasa al siguiente, será algún problema con el UTCDate?
    Gracias!

    ResponderEliminar
    Respuestas
    1. Disculpa haber tardado tanto en responder, se me coló el comentario.
      El problema es que las horas que usa GAS son horas de servidor. Recuerda que GAS se ejecuta en servidor no en local. Así que usará la hora que el crea. Sino recuerdo mal creo q era la hora del pacifico. Te tocará modificar las horas para ajustar a lo que tu quieres.

      Eliminar
  8. buenos dias hay una manera de que al momento de ingresar la fecha me calcule la edad y si fuera menor de edad que salga un aviso?
    Gracias

    ResponderEliminar
  9. hola, tengo el problema de la fecha en letra no coincide con la fecha numerica, como está en el ejemplo, al mes toca sumarle +1 y al dia toca restarle 1 despues de medio dia, en la mañana da el numero del dia correcto y ya en la tarde cambia al siguiente, pero es contradictorio por que la fecha que muestra el objeto Date() si es correcta, sin importar la hora

    ResponderEliminar

Tal vez te interese