Modifier une valeur de champ GlideDateTime

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Cet exemple montre comment modifier une valeur de champ GlideDateTime à l’aide d’un script côté serveur.

    Avec un champ GlideDateTime ou un objet de script, montrez différentes façons de modifier facilement une valeur. Le même concept s’applique également à l’objet GlideDate .
    Remarque :
    Le script suivant est uniquement destiné aux applications globales.
    //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());
    

    Conflits courants de format date-heure

    Fournir une chaîne de format de date-heure incorrecte peut entraîner un comportement inattendu pour les méthodes des API GlideDate, GlideDateTime et GlideTime . Utilisez la table suivante pour vous aider à résoudre les problèmes de format.

    Format incorrect Explication Format correct
    AAAA-MM-JJ HH :MM :ss
    • Problème : Utiliser un « Y » majuscule pour représenter l’année. Le symbole « Y » est rarement utilisé et représente l’année de la semaine.
    • Solution : utilisez le symbole « y » minuscule pour l’année civile.
    aaaa-MM-jj hh:mm:ss
    HH :mm :ss a

    hh :mm :ss

    • Problème : conflit d’utilisation entre les symboles « HH » et « hh ».
      Remarque :
      Le symbole « a », un marqueur AM/PM, n’est pas compatible avec les symboles H ou k (24 heures).
    • Solution : utilisez la configuration appropriée pour représenter le format d’heure.
      • HH indique le format d’heure sur 24 heures avec un nombre de départs égal à zéro. C’est-à-dire l’heure dans une journée (0-23).
      • KK indique le nombre de début de 1 au format d’heure de 24 heures. C’est-à-dire l’heure dans un jour (1-24).
      • HH désigne le format d’heure 12 heures en AM/PM avec une heure de début de un (1-12).
      • KK indique le format d’heure 12 heures en am/pm avec une heure de début de zéro (0-11).
    hh :mm :ss : a

    HH:mm:ss

    HH :mm :ss z
    • Problème : les valeurs d’affichage du fuseau horaire « z » unique ne sont pas uniques. Par exemple, IST : Heure normale d’Inde/Israël.
    • Solution : utilisez « zzzz » pour le nom complet du fuseau horaire.
    HH :mm :ss zzzz
    MM-jj-aaaa HH :MM
    • Problème : Utilisation de « MM » pour le mois et la minute.
    • Solution : utilisez « MM » pour le mois et « mm » pour la minute.
    MM-jj-a HH :mm
    aaaa-j-MM
    • Problème : utilisation de « DDD » pour le jour du mois. Le symbole 'D' est utilisé pour le numéro du jour de l’année.
    • Solution : utilisez « jj » pour le jour du mois.
    aaaa-MM-jj

    Pour plus d’informations, reportez-vous à la section Modèles de date et d’heure pour SimpleDateFormat.