---
sourceDocument: Yokohama Mobile-Konfiguration und -Navigation
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/mobile

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama Mobile-Konfiguration und -Navigation

ft:clusterId :

    - mobile

bundleId :

    - mobile

workflow :

    - Platform


---

# Setup der Datums-/Uhrzeiteingabe für verschiedene Aktionselementtypen

# Setup der Datums-/Uhrzeiteingabe für verschiedene Aktionselementtypen {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Nachdem Sie einen Eingabeformularbildschirm erstellt und sein Attribut „IncludeTimezone" für Datums-/Uhrzeiteingaben definiert haben, müssen Sie den Eingabeformularbildschirm einem Aktionselement zuordnen. Wie Sie die Datums-/Uhrzeiteingaben einrichten, hängt vom Typ des verwendeten Aktionselements ab.
{#datetime-input-setup-4-action-items__table_iz4_xnx_t5b__entry__2}

| Aktionselementtyp | Einrichten |
|-|-|
| Neu Oder Aktualisieren | Stellen Sie sicher, dass Datums-/Uhrzeiteingaben Datums-/Uhrzeitfeldern in der Back-End-Instanz zugeordnet sind. Die Back-End-Instanz verwendet die Gerätzeitzoneninformationen, die vom Eingabeformularbildschirm gesendet werden. Dann konvertiert die Back-End-Instanz den Datums-/Uhrzeitwert in koordinierte Weltzeit (UTC/GMT), bevor sie in der Datenbank gespeichert wird. |
| Skript | Sie müssen den Eingabewert für Datum/Uhrzeit in UTC/GMT konvertieren. Weitere Informationen finden Sie in den folgenden Skriptbeispielen. Für weitere Informationen zum Skripting im Allgemeinen für ServiceNow, Siehe [Skripting](https://www.servicenow.com/docs/access?context=c_Script&version=yokohama&pubname=yokohama-application-development&ft:locale=en-US) Hinweis: Je nach betroffenem Anwendungsfall sind möglicherweise Anpassungen erforderlich. |
[ ]

{#datetime-input-setup-4-action-items__table_iz4_xnx_t5b}

## GlideDateTime-Skriptbeispiel {#datetime-input-setup-4-action-items__section_lrx_1qx_t5b}

Im folgenden Beispiel werden Felder von festgelegt GlideDateTime Typ.

    /sys_sg_write_back_action_step.do?sys_id=b390e6a7c1120110fa9b5abd6a7dbb64
    (function WriteBackAction(parm_input, parm_variable, actionResult) {
    	var shortDescription = parm_input.shortdescription;
    	var scheduledStart = parm_input.expectedstart;
    	var estimatedEnd = parm_input.estimatedend;
    	var description = parm_input.description;
    	var wotSysId = parm_variable['sys_id'];
    	
    	var wotGr = new GlideRecord("wm_task");
    	wotGr.get(wotSysId);
    	wotGr.setValue("description", description);
    	wotGr.setValue("short_description", shortDescription);
    	
    	var newEnd = new GlideDateTime(estimatedEnd);
    	var endMS = newEnd.getNumericValue();
    	
    	var newStart = new GlideDateTime(scheduledStart);
    	var startMS = newStart.getNumericValue();
    	
    	if (endMS - startMS < 0) {
    		gs.addErrorMessage(gs.getMessage("The start date should come before the end date"));
    	} else {
    		//set the time on screen all the time
    		wotGr.setValue("expected_start", newStart);
    		wotGr.setValue("estimated_end", newEnd);
    		var duration = endMS - startMS;
    		var newDur = new GlideDuration();
    		newDur.setValue(duration);
    		wotGr.setValue("estimated_work_duration", newDur);
    		
    		//check double booking no matter which field is changed. set needs_attention so that dispatcher can review it.
    		var info = new global.FSMAgentInfo(gs.getUserID());
    		var doubleBooking = info.allowAgentDoubleBookingTask();
    		if (doubleBooking){
    			var conflict = !(new global.SMDDateValidation().checkSchedulingConflictSimple(wotGr));
    			if (conflict) {
    				//BR Date Checks will display conflict message as Warning: {0} has been scheduled for a time the assigned
    				//only when time change.
    				wot.Gr.setValue("needs_attention", true);
    			}
    		}

* In diesem Beispiel ist `Expected_Start `Und `Geschätzt_Ende `Felder werden basierend auf den Werten der entsprechenden Datums-/Uhrzeiteingaben von bearbeitet `Erwarteter Start `Und `Geschätztes Ende `.
* Da das Attribut IncludeTimezone auf festgelegt ist <kbd class="ph userinput">Wahr </kbd>, `Parm_input.erwartetStart `Variable gibt eine Datums-/Uhrzeitzeichenfolge im Format JJJJ-MM-TTThh:mm:ss.sssTZD zurück. Damit das System dieses Datums-/Uhrzeitformat verarbeiten kann, initialisieren Sie ein GlideDateTime-Objekt, indem Sie die Zeichenfolge an den Konstruktor übergeben.
* Weil `Expected_Start `Und `Geschätzt_Ende `Sind Datums-/Uhrzeitspalten in der Datenbank, können Sie direkt aufrufen GlideRecord.setValue() Und übergeben Sie `GlideDateTime `Objekt als Wert.
{#datetime-input-setup-4-action-items__ul_wgy_hqx_t5b}

## GlideScheduleDateTime-Skriptbeispiel {#datetime-input-setup-4-action-items__section_fsq_bsx_t5b}

Im folgenden Beispiel werden Felder von festgelegt GlideScheduleDateTime Typ.

    /sys_sg_write_back_action_item.do?sys_id=539b20d6b72120107be0e34e9e11a971
    (function WriteBackAction(parm_input,parm_variable,actionResult) {

    	var personalSchedule = new global.FSMMobileUtil().getUserSchedule(parm_variable.user);
    	if (gs.nil(personalSchedule)) {
    		gs.error("create_event: personal schedule id is not found.");
    		gs.addErrorMessage(gs.getMessage("Create Event Failed"));
    		return;
    	}
    	
    	if(gs.nil(parm_input.type))
    		parm_input.type = "";
    	
    	var scheduleEntryGR = new GlideRecord("cmn_schedule_span");
    	scheduleEntryGR.initialize();
    	scheduleEntryGR.setValue("name", parm_input.name);
    	
    	var start_time = new GlideDateTime(parm_input.start_time);
    	scheduleEntryGR.start_date_time = start_time.getDisplayValueInternal();
    	
    	var end_time = new GlideDateTime(parm_input.end_time);
    	scheduleEntryGR.end_date_time = end_time.getDisplayValueInternal();
    	
    	scheduleEntryGR.setValue("show_as", parm_input.show_as);
    	scheduleEntryGR.setValue("type", parm_input.type);
    	scheduleEntryGR.setValue("user", parm_variable.user);
    	scheduleEntryGR.setValue("schedule", personalSchedule);
    	scheduleEntryGR.setValue("repeat_type", parm_input.repeats);
    	if(parm_input.repeats!=""){
    		scheduleEntryGR.setValue("repeat_count", parm_input.repeat_every);
    		scheduleEntryGR.repeat_until = parm_input.repeat_until;
    	}
    	scheduleEntryGR.insert();
    	
    	
    })(parm_input,parm_variable,actionResult);

* In diesem Beispiel ist `Start_date_time `Und `End_date_time `Felder eines Zeitplaneintrags werden basierend auf den Werten der entsprechenden Datums-/Uhrzeiteingaben von festgelegt `Start_time `Und `End_time `.
* Weil IncludeTimezoneAttribut ist auf festgelegt <kbd class="ph userinput">Wahr </kbd>, `Parm_input.Start_time `Variable gibt eine Datums-/Uhrzeitzeichenfolge im Format JJJJ-MM-TTThh:mm:ss.sssTZD zurück. Damit das System dieses Datums-/Uhrzeitformats verarbeiten kann, initialisieren Sie ein `GlideDateTime `Objekt, indem die Zeichenfolge an den Konstruktor übergeben wird.
* Weil `Start_date_time `Und `End_date_time `Sind keine Datums-/Uhrzeitspalten in der Datenbank (stattdessen sind es Spalten für Datum/Uhrzeit des Zeitplans), ihr Wert wird mit festgelegt `gr.Start_date_time = {date_time_value} `.  
  Hinweis:  
  Die `Date_time_value `Wird erwartet, dass er sich in der Zeitzone des Anwenderprofils befindet (der angegebene Wert wird voraussichtlich sein `Anzeigewert `Von `GlideDateTime `). Diese Konfiguration ermöglicht es, aufzurufen GlideDateTime.getDisplayValueIntern() Methode, die eine Datums-/Uhrzeitzeichenfolge im internen Format JJJJ-MM-TT hh:mm:ss und in der Zeitzone des Anwenderprofils zurückgibt.
{#datetime-input-setup-4-action-items__ul_xmz_hsx_t5b}

