Estoy tratando de programar un evento para el 2 de mayo de 2021 a la 1:30 p.m., que corresponde a la hora de verano central, y lo estoy programando hoy, 25 de febrero de 2021, que es la hora estándar del centro. pero la hora 1:30 PM cambia a 12:30 PM.

¿Hay alguna forma de prevenir este cambio? Mi aplicación está en Js angulares y usa el selector de fecha y hora Bootstrap-angular

1
Annamalai 25 feb. 2021 a las 19:50

1 respuesta

La mejor respuesta

Puede utilizar la zona horaria de momento https://github.com/moment/moment-timezone puede agregar el desplazamiento en su fecha según la zona horaria, ici +01: 00 en Francia.

<script type="text/javascript" src="./moment-timezone-with-data.js"></script>

let offsetFrance = moment().tz("Europe/Paris").format('Z'); //+01:00
let eventWithOffset = moment().format('YYYY-MM-DDTHH:mm:ss[' + offsetFrance + ']');
let eventGmt = moment.tz(eventWithOffset, 'Europe/Paris').toISOString();

De lo contrario, intente con el momento en la aplicación angularjs https://raw.githubusercontent.com/gdi2290/angular- momentjs / master / angular-momentjs.js

Cargar el guion

<script type="text/javascript" src="./angular-momentjs.js"></script>

Inyecte dependencia en su módulo de aplicación y controlador

var app = angular.module('myApp', ['angular-momentjs']);

app.controller('myCtrl', function($scope, $moment) {
  let now = $moment().toISOString();
  let myEvent = $moment('02/05/2021 13:30', 'DD/MM/YYYY HH:mm').toISOString();

  if($moment(now).isAfter(myEvent)) alert('Time to event');
  else alert('ok');
});
1
Nevada Stone 26 feb. 2021 a las 01:30