# Probar zonas horarias de Australia en Playwright

Source: https://ipvolt.com/es/guides/playwright-australia-timezones
Markdown: https://ipvolt.com/es/guides/playwright-australia-timezones.md
Language: es

[Inicio de ipvolt](https://ipvolt.com/es.md) / [Guías](https://ipvolt.com/es/guides.md) / Probar zonas horarias de Australia en Playwright

Integración
Revisado: 2026-09-27
6 min de lectura
Por ipvolt

Ejecuta 12 comprobaciones de reloj para Australia en Playwright, incluido el cambio de 30 minutos de Lord Howe. Separa el UTC fijo, la zona del navegador y Node.

Configura el `timezoneId` del navegador en Playwright, fija un instante UTC explícito y después comprueba la fecha que muestra tu página. Mantén aparte la zona horaria del runner de Node: cambiar el ajuste del navegador no cambia el runner. Playwright documenta esa distinción en sus [controles de configuración regional y zona horaria](https://playwright.dev/docs/emulation#locale--timezone).

La comprobación descargable de abajo te da 12 casos australianos repetibles: Sídney y Brisbane en dos estaciones, el desfase de media hora de Broken Hill y el cambio de horario de verano de 30 minutos de Lord Howe. Sirve su propia página pequeña en `127.0.0.1`, lee el reloj renderizado en Chromium y guarda las aserciones como JSON. No hacen falta proxy ni credenciales.

## Ejecuta la comprobación del reloj

Usa Node.js 24. En una shell de macOS o Linux:

```sh
mkdir australia-clock-demo
cd australia-clock-demo
curl --fail --silent --show-error --output australia-clock-check.mjs https://ipvolt.com/downloads/australia-clock-check.mjs
npm install --no-audit --no-fund --save-exact playwright@1.63.0
npx playwright install chromium
TZ=UTC node australia-clock-check.mjs > results-utc.json
```

El [script](/downloads/australia-clock-check.mjs) y el [README](/downloads/australia-clock-README.md) están disponibles directamente. Compara tu salida con el [JSON de referencia](/downloads/australia-clock-results.json), que incluye todas las aserciones y el entorno, o con el [CSV de referencia](/downloads/australia-clock-results.csv), que contiene campos seleccionados de cada fila.

Una ejecución correcta termina con `0` e informa `summary.allPassed: true`, con `total: 12` y `passed: 12`. Eso incluye las relaciones de reloj esperadas y las comprobaciones de solicitudes y errores. Una salida `1` con JSON de resultados significa que falló una aserción. Un error de arranque o de dependencias en la salida de error estándar es un fallo de configuración; si Chromium no arranca en Linux, revisa las [dependencias de sistema de los navegadores](https://playwright.dev/docs/browsers#install-system-dependencies) de Playwright.

Para cada fila, el script crea un contexto de navegador nuevo, define su `timezoneId` y llama a `page.clock.setFixedTime(new Date(test.utc))` antes de cargar la página. La entrada UTC termina en `Z`, así que identifica el mismo instante en cualquier entorno del runner. `setFixedTime` fija los valores que devuelven `Date.now()` y `new Date()` mientras los temporizadores siguen funcionando con normalidad; este fixture comprueba fechas renderizadas. [API de tiempo fijo de Playwright](https://playwright.dev/docs/api/class-clock#clock-set-fixed-time)

## Conserva las excepciones australianas en tus casos de prueba

Estas ocho filas usan la medianoche UTC del **15 de enero de 2026** y del **15 de julio de 2026**. Los desfases de abajo son al este de UTC. El JSON los expresa en minutos, con el signo opuesto al de `getTimezoneOffset()` de JavaScript.

| `timezoneId` del navegador | Enero: hora local / desfase UTC | Julio: hora local / desfase UTC |
| --- | --- | --- |
| `Australia/Sydney` | 11:00 / +11:00 | 10:00 / +10:00 |
| `Australia/Brisbane` | 10:00 / +10:00 | 10:00 / +10:00 |
| `Australia/Broken_Hill` | 10:30 / +10:30 | 09:30 / +09:30 |
| `Australia/Lord_Howe` | 11:00 / +11:00 | 10:30 / +10:30 |

Sídney y Brisbane coinciden en julio, pero difieren en una hora en enero. Broken Hill y Lord Howe también impiden que «NSW» se convierta en una única expectativa de reloj. Las [definiciones de hora y excepciones](https://dcj.nsw.gov.au/about-us/daylight-saving/definitions-of-time-and-how-time-is-regulated.html) de Nueva Gales del Sur describen estos desfases y la ausencia de horario de verano en Queensland. Los [resultados de referencia](/downloads/australia-clock-results.json) registran lo que esta ejecución de Chromium renderizó en los instantes declarados.

Las cuatro filas restantes enmarcan los cambios modelados del **4 de octubre de 2026**. Cada par avanza UTC un segundo:

| Zona del navegador | Instantáneas UTC del 3 de octubre de 2026 | Instantáneas locales del 4 de octubre de 2026 | Cambio de desfase |
| --- | --- | --- | --- |
| `Australia/Lord_Howe` | 15:29:59 → 15:30:00 | 01:59:59 → 02:30:00 | +10:30 → +11:00 |
| `Australia/Sydney` | 15:59:59 → 16:00:00 | 01:59:59 → 03:00:00 | +10:00 → +11:00 |

Son **instantáneas sintéticas de tiempo fijo**, ejecutadas el 26 de septiembre de 2026 UTC. Las entradas de octubre simulan instantes futuros según las reglas comprobadas ese día; no registran una transición real ni prueban un temporizador en marcha durante ella. Las [fechas estacionales de NSW](https://www.nsw.gov.au/about-nsw/daylight-saving) y las [reglas de IANA para Australasia](https://data.iana.org/time-zones/tzdb/australasia) respaldan las expectativas de fecha y desfase. El cambio de Lord Howe es de 30 minutos y, en este par, ocurre 30 minutos antes en UTC que el de Sídney.

## Cambia el runner sin cambiar el resultado del navegador

Ejecuta el mismo archivo con Perth como zona horaria del runner de Node:

```sh
TZ=Australia/Perth node australia-clock-check.mjs > results-perth.json
```

Compara los 12 objetos `rows[].browser` con `results-utc.json`. Deberían coincidir. Los objetos `runner` deberían diferir: la ejecución en UTC informa un desfase `0`, mientras que Perth informa `480` minutos al este de UTC. La [variable de entorno `TZ`](https://nodejs.org/docs/latest-v24.x/api/cli.html#tz) de Node controla el runner.

Las dos ejecuciones registradas superaron las 12 filas, con lecturas del navegador idénticas. Los archivos JSON completos diferirán porque también conservan marcas de tiempo de ejecución y metadatos del runner. Esta comparación ayuda a detectar una expectativa de prueba calculada por accidente en la zona local del runner.

## Comprueba que las aserciones rechazan un error

El script incluye tres modos deliberadamente incorrectos. Ejecuta cada comando por separado si tu shell o tu trabajo de CI se detiene tras una salida distinta de cero:

```sh
TZ=UTC node australia-clock-check.mjs one-nsw-clock > wrong-nsw.json
TZ=UTC node australia-clock-check.mjs one-hour-dst > wrong-dst.json
TZ=UTC node australia-clock-check.mjs omit-browser-timezone > wrong-browser-zone.json
```

| Modo | Error deliberado | Filas fallidas registradas |
| --- | --- | --- |
| `one-nsw-clock` | Esperar el desfase de Sídney en el mismo instante para Broken Hill y Lord Howe. | 5 de 12 |
| `one-hour-dst` | Esperar que el desfase estándar de Lord Howe, +10:30, aumente una hora completa. | 2 de 12 |
| `omit-browser-timezone` | Quitar el ajuste del navegador conservando las expectativas australianas con el runner en UTC. | 12 de 12 |

Cada modo debería terminar con `1`. Los dos primeros cambian deliberadamente los valores esperados; el tercero quita un control del navegador. Demuestran que se detectan esos errores concretos. En `wrong-nsw.json`, los cinco identificadores fallidos son Broken Hill en enero y julio, Lord Howe en julio y las dos instantáneas de frontera de Lord Howe. En `wrong-dst.json`, Lord Howe en enero y la instantánea posterior al cambio rechazan el desfase inventado de +11:30.

Ante un fallo inesperado en la ejecución normal, revisa `summary.failed` y las `assertions` de esa fila:

| Comprobación fallida | Qué revisar después |
| --- | --- |
| `fixedInstant` | Confirma la entrada UTC explícita y que el tiempo fijo se establece antes de que la página lea su reloj. |
| `requestedTimezone` | Confirma que la página pertenece al contexto con el `timezoneId` solicitado. |
| `expectedOffset` o `expectedWallTime` | Comprueba la fecha de la fila, la zona, el signo del desfase y las reglas vigentes antes de cambiar la expectativa. |
| `renderedEqualsSampled` | Revisa los errores de página y cualquier diferencia entre el reloj renderizado y la lectura posterior del navegador. |

Si todas las filas pasan pero `summary.allPassed` es false, revisa también `relationshipsMinutes`, `requests`, `blockedRequests` y `pageErrors`. El fixture exige las relaciones de desfase declaradas, exactamente 12 solicitudes a su página de loopback y ninguna solicitud de página bloqueada ni error de página.

## Aplica los controles a tu propia página

Elige una fecha mostrada o un horario cuyo comportamiento esperado puedas enunciar. Conserva la entrada UTC explícita y el `timezoneId` del navegador, y sustituye la aserción del reloj visible del fixture por una aserción sobre ese elemento en tu propia prueba. La descarga en sí no acepta ninguna URL de destino externa.

Mantén constantes las demás entradas en la primera comparación: configuración regional, preferencias guardadas, configuración de la aplicación y datos de prueba. Si la aplicación formatea a propósito un horario en una zona comercial fija, comprueba ese comportamiento. Una marca de tiempo generada por el servidor o una preferencia de zona horaria a nivel de cuenta necesita su propia preparación; la emulación del navegador por sí sola no establece ninguno de los dos valores.

Empieza por el par enero/julio pertinente y luego añade un caso de frontera que tu aplicación admita. Conserva la entrada fallida y el registro de entorno del JSON al investigar una discrepancia. Cambiar la salida esperada solo para que coincida con una ejecución del navegador eliminaría la comprobación independiente.

Si la aplicación también toma una decisión a partir de la ubicación de la IP de la solicitud, usa una prueba aparte de ubicación de salida. La [página de selección de proxies de Australia](/es/proxies/australia) explica cómo elegir la evidencia de ubicación que necesita esa regla.

## Método y límites

Las ejecuciones registradas usaron Node.js **24.20.0**, Playwright **1.63.0** y Chromium **153.0.8010.12** en macOS arm64. Tras instalar las dependencias, cada ejecución hizo 12 solicitudes a su propia página de loopback, con cero intentos de la página fuera de su origen y cero errores de página. Los desfases esperados proceden de las fuentes primarias anteriores; el script comparó el reloj renderizado de la página con una segunda lectura del navegador.

Esto cubre un motor de navegador y un sistema operativo en 12 casos declarados. No establece el avance de los temporizadores, las horas repetidas cuando los relojes se atrasan, todos los territorios australianos, el comportamiento de tu aplicación ni la geografía de las IP australianas. La fuente de IANA comprobada fue la [versión **2026d**](https://data.iana.org/time-zones/tzdb/version). El valor `nodeTz: 2026a` de los resultados describe los datos de zonas horarias de Node; no se midió la versión de la base de datos interna de Chromium. Conserva la información de versiones y vuelve a comprobar las reglas al actualizar o elegir fechas nuevas.

No se ha confirmado la disponibilidad de proxies australianos. [Consigue acceso anticipado](/es/proxies#waitlist-closing). Un correo cuando se abra el acceso. Nada más.

## Fuentes y lecturas adicionales

- [Browser locale and timezone; separate runner](https://playwright.dev/docs/emulation#locale--timezone)
- [Clock setFixedTime API](https://playwright.dev/docs/api/class-clock#clock-set-fixed-time)
- [Browser installation and system dependencies](https://playwright.dev/docs/browsers#install-system-dependencies)
- [Time definitions and NSW exceptions](https://dcj.nsw.gov.au/about-us/daylight-saving/definitions-of-time-and-how-time-is-regulated.html)
- [Current daylight-saving dates](https://www.nsw.gov.au/about-nsw/daylight-saving)
- [Australasian zone rules](https://data.iana.org/time-zones/tzdb/australasia)
- [Live directory version](https://data.iana.org/time-zones/tzdb/version)
- [Node.js TZ environment variable](https://nodejs.org/docs/latest-v24.x/api/cli.html#tz)

## Guías relacionadas

- [Proxies de Australia: país, redes móviles y comprobaciones de nbn](https://ipvolt.com/es/guides/australia-proxies.md)
- [Configurar un proxy en Playwright](https://ipvolt.com/es/guides/playwright-proxy-setup.md)
- [Proxies rotativos vs persistentes: planifica la continuidad](https://ipvolt.com/es/guides/rotating-vs-sticky-proxies.md)

## Sobre ipvolt

Los ejemplos usan configuraciones de proxy genéricas, con enlaces a la documentación técnica original. El comportamiento específico de cada producto debe comprobarse con tu proveedor. ipvolt sigue en desarrollo.

[Leer el original en inglés](https://ipvolt.com/guides/playwright-australia-timezones.md)

## Entérate cuando se abra el acceso.

ipvolt · En desarrollo

Estamos construyendo infraestructura de proxies para desarrolladores y equipos de datos. Únete a la lista de interés para recibir un aviso cuando ipvolt esté listo.

Un correo cuando se abra el acceso. Nada más.

[Solicitar acceso anticipado](https://ipvolt.com/es/guides/playwright-australia-timezones#waitlist-closing)

[Privacidad](https://ipvolt.com/privacy)

