python - tutorial - Conversión de fecha en el servidor en diferentes zonas horarias
the django project (0)
Tengo una cadena de fecha (ocurrencia de evento) en la hora local (extraída de una página web usando Scrapy) y necesito convertirla a una marca de tiempo. Lo hago usando:
return int(time.mktime(time.strptime(dateString, "%Y-%m-%d")))
Eso me da una marca de tiempo que almaceno en mi base de datos. Todos los días reviso la página para obtener nuevos datos, así que necesito comparar las fechas. Uso la misma función que la anterior para convertir a una marca de tiempo que comparo con la marca de tiempo en la base de datos. De esta manera evito registros duplicados.
Cuando ejecuto este script localmente (tarea programada), todo funciona como se espera. Sin embargo, cuando lo ejecuto en un servidor remoto, la conversión da como resultado una marca de tiempo diferente, lo que significa que termino con registros duplicados. Esto se debe a que he completado mi base de datos localmente.
En mi aplicación que necesita mostrar la fecha real en que ocurrió el evento, tengo lo siguiente:
/**
* @summary Format date string
*
* @param date {Integer} Unix time stamp
*
* @return date {String}
*/
function formatDate( date ) {
var m_names = new Array( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ),
d = new Date( date ),
curr_date = d.getUTCDate(),
curr_month = d.getUTCMonth(),
curr_year = d.getUTCFullYear();
return curr_date + "-" + m_names[ curr_month ] + "-" + curr_year;
}
Como mi aplicación puede mostrar registros (eventos) en varias zonas horarias al mismo tiempo, debo asegurarme de que la fecha del evento se muestra correctamente.
Necesito algunos consejos sobre cómo puedo lograr el mejor resultado deseado.