Manejo de la zona horaria en JavaScript-SpaceTime

Tiempo de ejecución: 30 minutos. Empezar

Autor: spencermountain
Views Total: 1,724
Sitio oficial: Ir a la web
Actualizado: April 14, 2019
Licencia: MIT

Vista prévia

Manejo de la zona horaria en JavaScript-SpaceTime

Descripción

SpaceTime es una biblioteca de JavaScript pura que se utiliza para manipular, atravesar, comparar y formatear fechas y horas en todo el planeta tierra.

Características

  • Obtener/establecer fechas y horas en zonas horarias remotas
  • Soporte global para horario de verano, años bisiestos + segundos, y hemisferios
  • Oriente por trimestre, temporada, mes y semana
  • Comparación de fechas remotas
  • Escrito en ES2015 JS, publicado como ES5, probado para node y el navegador

Instalación

npm install spacetime --save

Funcionamiento

Incluya el archivo JavaScript principal en la página HTML.

<script src="https://unpkg.com/spacetime"></script>

Haz una nueva cita en Nueva York.

var d = spacetime('March 8 2017', 'America/New_York')

API Methods.

// Some helpers
s = spacetime.now()
s = spacetime.today() // This morning
s = spacetime.tomorrow() // Tomorrow morning

// Date inputs
s = spacetime(1489520157) // Epoch
s = spacetime([2017, 5, 2]) // yyyy, m, d (zero-based months, 1-based days)
s = spacetime('July 2, 2017 5:01:00') // ISO

// Remotely understood date
s = spacetime(1489520157, 'Canada/Pacific')

// Get/set methods
s.date() // 14
s.year() // 2017
s.season() // Spring
s.hour(5) // Change to 5am
s.date(15) // Change to the 15th
s.day('monday') // Change to (this week's) monday
s.month('march') // Change to (this year's) March 1st
s.quarter(2) // Change to April 1st

// Add/subtract methods
s.add(1, 'week')
s.add(3, 'quarters')
s.subtract(2, 'months').add(1,'day')

// Timezone metadata
s.timezone().name // 'Canada/Eastern' (either inferred or explicit)
s.timezone().hemisphere // North
s.timezone().current.offset // -240 (in minutes)
s.timezone().current.isDst // True

// Comparisons
let d = spacetime([2017, 5, 2])

// gt/lt/equals
s.isAfter(d) // True
s.isEqual(d) // False
s.isBefore(d) // False

// Comparison by unit
s.isSame(d, 'year') // True
s.isSame(d, 'date') // False
s.diff(d, 'day') // 5
s.diff(d, 'month') // 0

// Date + time formatting
s.format('time') // '5:01am'
s.format('numeric-uk') // 02/03/2017
s.format('month') // 'April'
s.format('month-short') // 'Apr'

// Calendar-sensitive movement
s.startOf('day') // 12:00am
s.startOf('month') // 12:00am, April 1st
s.endOf('quarter') // 11:59:59pm, June 30th

// Percentage-based information
s.progress().month = 0.23 // We're a quarter way through the month
s.progress().day = 0.48
 // Almost noon
s.progress().hour = 0.99
// 59 minutes and 59 seconds

// Misc functions
s.goto('Australia/Brisbane') // Roll into a new timezone, at the same moment
s.clone() // Make a copy
s.isValid() // Sept 32nd → false

Registro de cambios

v5.7.0 (04/14/2019)

  • Fix diff/desde problemas, y añadir 0 bug

v5.6.0 (04/08/2019)

  • admiten tipos de typescript por Jacob Craig
  • utilizar una zona horaria dada cuando se le da un objeto espacio-tiempo como entrada
  • agrega. cada (unidad, a) método
  • establecer UTC como zona horaria de reserva predeterminada

v5.5.0 (03/28/2019)

  • actualizar zonefile a 2019

v5.4.0 (03/01/2019)

  • todos los métodos ahora inmutables de forma predeterminada.
  • mover UNIX-formating fuera de. Format () en. unixFmt ()
  • admiten nuevas plantillas de formato de estilo de oclock {hour}
  • cambiar la respuesta default. Format () a aaaa-mm-dd
  • nombres de mes y día en mayúsculas en. dayName ()
  • admiten nombres de ciudades, EST, PDT, etc. como entrada
  • establecer el valor predeterminado Silent: true para evitar el registro no deseado

v5.3.0 (02/25/2019)

  • todos los métodos ahora inmutables de forma predeterminada
  • mover UNIX-formating fuera de. Format () en. unixFmt ()
  • admiten nuevas plantillas de formato de estilo de oclock {hour}
  • cambiar la respuesta default. Format () a aaaa-mm-dd
  • nombres de mes y día en mayúsculas en. dayName ()
  • admiten nombres de ciudades, EST, PDT, etc. como entrada
  • establecer el valor predeterminado Silent: true para evitar el registro no deseado

v5.2.2 (02/23/2019)

  • Corregido error de zona horaria
  • Corrija los problemas de zona horaria de media hora

v5.2.1 (01/09/2018)

  • semana corrección

v5.1.0 (12/15/2018)

  • TitleCase Short-formas de meses, días en. Format ()

v5.0.3 (12/14/2018)

  • todos los métodos ahora inmutables de forma predeterminada. — existing code will now need to be s = s.add(1,'day') — (instead of s.add(1,'day'))
  • mover UNIX-formating fuera de. Format () en. unixFmt ()
  • admiten nuevas plantillas de formato de estilo de oclock {hour}
  • cambiar la respuesta default. Format () a aaaa-mm-dd
  • nombres de mes y día en mayúsculas en. dayName ()
  • admiten nombres de ciudades, EST, PDT, etc. como entrada
  • establecer el valor predeterminado Silent: true para evitar el registro no deseado

v4.5.0 (11/24/2018)

  • actualizar algunas compensaciones TZ en el este de Rusia
  • actualizaciones de 2019 fechas de verano palestinas
  • correcciones para los métodos de establecedor inmutable que faltan

v4.4.0 (09/02/2018)

  • interpretación de swap de los desplazamientos de fecha ISO-0500 â & #134; & #146; + 5 offset

v4.3.0 (07/28/2018)

  • Analizar una nueva fecha en formato RFC822 cambia el desplazamiento (+/-)

v4.2.2 (06/22/2018)

  • agrega el método. Extend () para crear plugins

v4.2.1 (06/02/2018)

  • fijar bug de la hora de Rusia, apoyo 3-term zonas horarias

v4.2.0 (05/31/2018)

  • agrega el método isBetween ()

Te puede interesar: