Modificar um valor de campo GlideDateTime

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Este exemplo demonstra como modificar um valor de campo GlideDateTime usando um script do lado do servidor.

    Dado um campo GlideDateTime ou objeto de script, mostre várias maneiras de modificar facilmente o valor. O mesmo conceito também se aplica ao objeto GlideDate.
    Nota:
    O script a seguir se destina somente a aplicações globais.
    //You first need a GlideDateTime object
    //this can be from instantiating a new object "var gdt = new GlideDateTime()"
    //or getting the object from a GlideDateTime field
    //getting the field value (for example: var gdt = current.start_date) only returns the string value, not the object
    //to get the object use var gdt = current.start_date.getGlideObject();
    //now gdt is a GlideDateTime object
    var gdt = current.start_date.getGlideObject();
     
    //All methods can use negative values to subtract intervals
     
    //add 1 hour (60 mins * 60 secs)
    gdt.addSeconds(3600);
     
    //add 1 day
    gdt.addDaysLocalTime(1);
     
    //subtract 1 day
    gdt.addDaysLocalTime(-1);
     
    //add 3 weeks
    gdt.addWeeksLocalTime(3);
     
    //subtract 6 months
    gdt.addMonthsLocalTime(-6);
     
    //add 1 year, representing the date and time using the UTC timezone instead of the local user's timezone.
    gdt.addYearsUTC(1);
     
    //set the value of the GlideDateTime object to the current session timezone/format
    GlideSession.get().setTimeZoneName('US/Eastern');
    gdt.setDisplayValue('2018-2-28 00:00:00');
    gs.info('In ' + GlideSession.get().getTimeZoneName() + ": " + gdt.getDisplayValue());
    

    Conflitos comuns de formato de data e hora

    Fornecer uma cadeia de caracteres de formato de data e hora incorreta pode resultar em um comportamento inesperado dos métodos nas APIs GlideDate, GlideDateTimee GlideTime. Use a tabela a seguir para obter ajuda na resolução de problemas de formato.

    Formato incorreto Explicação Formato correto
    AAAA-MM-dd HH:mm:ss
    • Problema: usando "Y" maiúsculo para representar o ano. O símbolo "Y" raramente é usado e representa o ano da semana.
    • Solução: use o símbolo "y" minúsculo para o ano do calendário.
    aaaa-MM-dd HH:mm:ss
    HH:mm:ss a

    hh:mm:ss

    • Problema: conflito de uso entre os símbolos "HH" e "hh".
      Nota:
      O símbolo "a", um marcador AM/PM, não é compatível com os símbolos H ou k (24 horas).
    • Solução: use a configuração apropriada para representar o formato de hora.
      • HH denota o formato de 24 horas com uma contagem inicial de zero. Ou seja, hora em um dia (0-23).
      • km denota a contagem de início do formato de 24 horas de um. Ou seja, hora em um dia (1-24).
      • hh denota o formato de 12 horas em am/pm com uma hora de início de um (1-12).
      • KK denota o formato de 12 horas em am/pm com uma hora de início de zero (0-11).
    hh:mm:ss: a

    HH:mm:ss

    HH:mm:ss z
    • Problema: os valores de exibição do fuso horário "z" único não são exclusivos. Por exemplo, IST: horário padrão da Índia/Israel.
    • Solução: use "zzzz" para o nome completo do fuso horário.
    HH:mm:ss zzzz
    MM-dd-aaaa HH:MM
    • Problema: usando "MM" para mês e minuto.
    • Solução: use "MM" para o mês e "mm" para o minuto.
    MM-dd-aaaa HH:mm
    aaaa-DDD-MM
    • Problema: usando "DDD" para o dia do mês. O símbolo "D" é usado para o número do dia do ano.
    • Solução: use "dd" para o dia do mês.
    aaaa-MM-dd

    Para obter informações adicionais, consulte a seção Padrões de data e hora para SimpleDateFormat.