---
title: systemtime
slug: develop/es/systemtime
docTags: 
createdAt: 2025-03-27T16:56:35.112Z
---

El objeto *hora del sistema&#xA0;*&#x70;roporciona la capacidad de leer y escribir la hora almacenada en el reloj en tiempo real (RTC). También se puede usar para leer y escribir la configuración de la zona horaria.

**IDL de systemtime**

```javascript
interface SystemTime {
    Promise<void> setDate(Date date);
    Promise<void> setTimeZone(String timezone_string); // requires reboot
    Promise<String> getTimeZone();
    Promise<LastNetworkTimeResult> lastNetworkTimeResult();
    void addEventListener(String type, NetworkTimeEventCallback callback);
    void removeEventListener(String type, NetworkTimeEventCallback callback);
};

interface LastNetworkTimeResult {
    readonly attribute long successTimestamp;
    readonly attribute long attemptTimestamp;
    readonly attribute String failureReason;
};
```

## Creación de objetos

Para crear un objeto *systemtime* , primero cargue el módulo `brightsign/systemtime` usando el método `require()` . Luego cree una instancia de la clase *systemtime* .

```javascript
var systemTimeClass = require("@brightsign/systemtime");
var systemTime = new systemTimeClass();
```

## SystemTime

Utilice esta interfaz para configurar la fecha y la zona horaria y recuperar datos de hora de red.

### Eventos

`[EventHandler] evento de tiempo de red`:  Un evento que se genera cuando el reproductor intenta actualizar su reloj a través de la red. Use el método `addEventListener()` para escuchar este evento. Los resultados se devuelven como una interfaz *Evento de tiempo de red&#xA0;*.

### Métodos

**setDate()**

```javascript
Promise<void> setDate(Date date)
```

Especifica una nueva hora para el RTC usando la zona horaria actual.

**setTimeZone()**

```javascript
Promise<void> setTimeZone(String timezone_string)
```

Especifica una nueva configuración de zona horaria para el reproductor (las zonas horarias compatibles se enumeran en [esta página](docId\:YSgqMu76n8cDi_kTPsvxq)). Como alternativa, se puede aplicar una zona horaria con formato POSIX agregando un valor `POSIX:` al comienzo de la cadena. Este método requiere un reinicio para entrar en vigor.

**getTimeZone() Como Promise\<String>**

```javascript
Promise<String> getTimeZone()
```

Devuelve la configuración actual de la zona horaria del reproductor. Se agrega un valor `POSIX:` al comienzo de la cadena si la zona horaria se ha configurado usando el formato POSIX.

**lastNetworkTimeResult()**

```javascript
Promise<LastNetworkTimeResult> lastNetworkTimeResult()
```

Devuelve una interfaz LastNetworkTimeResult que contiene información sobre el último intento de establecer la hora a través de la red.

## LastNetworkTimeResult

Esta interfaz contiene información sobre el último intento de establecer la hora a través de la red. Contiene los siguientes atributos de solo lectura:

- `successTimestamp` <font color="#6554c0">long</font>: Un valor que indica cuándo (en segundos) se configuró correctamente el reloj por última vez a través de la red. Este valor es cero si el reloj nunca se ha configurado correctamente a través de la red.
- `attemptTimestamp` <font color="#6554c0">long</font>:  Un valor que indica cuándo (en segundos) se realizó el último intento de configurar el reloj a través de la red. Este valor es cero si todavía no se ha realizado ningún intento.
- `failureReason` <font color="#6554c0">String</font>:  Si el último intento de configurar el reloj a través de la red falló, esta cadena contendrá un mensaje de error. Si el último intento fue exitoso, esta cadena estará vacía.

## NetworkTimeEvent

Esta interfaz es devuelta por el detector de eventos para `networktimeevent`. Contiene los siguientes atributos de solo lectura:

- `éxito` <font color="#6554c0">bool:</font> Un indicador que señala si el último intento de establecer la hora a través de la red tuvo éxito o no.
- `razón` <font color="#6554c0">string</font>: Un mensaje de error que se incluirá si el último intento falló.

## Ejemplo

```javascript
var SystemTimeClass = require("@brightsign/systemtime");
var systemTime = new SystemTimeClass();

//Set the date to 2018
var date = new Date();
date.setFullYear(2018);
systemTime.setDate(date);

//Set the time zone
systemTime.setTimeZone("PST")

//Listen for a network time event
systemTime.addEventListener("networktimeevent",
    function(data) {
        console.log("Last network update:" + JSON.stringify(data.detail));
    });
```

