Código de Python - Convertir una hora dada a cualquier zona horaria

Imágen de perfil
Val: 2.154
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Convertir una hora dada a cualquier zona horariagráfica de visualizaciones


Python

Actualizado el 26 de Agosto del 2016 por Xve (285 códigos) (Publicado el 11 de Mayo del 2016)
6.154 visualizaciones desde el 11 de Mayo del 2016
Este código contiene tres funciones:
- convertToUTC: función que convierte nuestra fecha a UTC según la zona horaria de nuestro ordenador.
- convertToTimezone: función que convierte cualquier hora en formato UTC a cualquier zona horaria.
- offset: función que devuelve un string con offset de una zona horaria dada en relación al UTC
- offsetInMinutes: función que devuelve los minutos del offset de una zona horaria dada en relación al UTC

Requerimientos

Python 2.7

Versión 1.1
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 28 de Agosto del 2016 (Publicado el 11 de Mayo del 2016)gráfica de visualizaciones de la versión: Versión 1.1
6.155 visualizaciones desde el 11 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Se ha añadido la función offset() y offsetInMinutes()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# -*- coding: UTF-8 -*-
 
from datetime import datetime
import pytz
 
def convertToUTC(dtToConvert):
	"""
	Funcion que devuelve el datetime en UTC desde la zona horaria del ordenador
	Tiene que recibir la fecha y hora en formato datetime
	"""
	miFechaTimestamps=float(miFecha.strftime("%s"))
	utc_offset=datetime.fromtimestamp(miFechaTimestamps) - datetime.utcfromtimestamp(miFechaTimestamps)
	return dtToConvert+utc_offset
 
 
def offset(tzConvert):
	"""
	Funcion que devuelve el offset de una zona horaria en relacion al UTC de la
	fecha actual.
	Tiene que recibir la zona horaria
	"""
	return datetime.now(pytz.timezone(tzConvert)).strftime("%z")
 
def offsetInMinutes(tzConvert):
	"""
	Funcion que devuelve los minutos de diferencia de una zona horaria en relacion
	al UTC de la fecha actual.
	Tiene que recibir la zona horaria
	"""
	offsetString=offset(tzConvert)
	hours=int(offsetString[:3])
	minutes=int(offsetString[3:])
	return (hours*60)+minutes
 
def convertToTimezone(dtToConvert,tzToConvert):
	"""
	Funcion que devuelve un datetime en UTC en cualquier zona horaria
	Tiene que recibir la fecha y hora en formato datetime y la zona horaria
	
	"""
	localtimezone = pytz.timezone(tzToConvert)
	localmoment = localtimezone.localize(dtToConvert)
	return localmoment.astimezone(pytz.utc)
 
 
miFecha=datetime.strptime('2016-02-14 14:00:00', "%Y-%m-%d %H:%M:%S")
miFechaEnUTC=convertToUTC(miFecha)
 
print miFecha,"-",convertToTimezone(miFechaEnUTC,'Europe/Madrid')
print miFecha,"-",convertToTimezone(miFechaEnUTC,'Australia/Adelaide')
print miFecha,"-",convertToTimezone(miFechaEnUTC,'America/New_York')
 
print "Offset de Europe/Madrid - ",offset('Europe/Madrid')
print "Offset de Australia/Adelaide - ",offset('Australia/Adelaide')
print "Offset de America/New_York - ",offset('America/New_York')
 
print "Minutes de Europe/Madrid - ",offsetInMinutes('Europe/Madrid')
print "Minutes de Australia/Adelaide - ",offsetInMinutes('Australia/Adelaide')
print "Minutes de America/New_York - ",offsetInMinutes('America/New_York')



Comentarios sobre la versión: Versión 1.1 (1)

Imágen de perfil
4 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Versión 1.1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3528