Вы можете присоединить событие к элементу при динамическом создании с помощью jQuery(html, attributes)
.
Начиная с jQuery 1.8, любой метод экземпляра jQuery (метод
jQuery.fn
) можно использовать как свойство объекта, переданного второму параметру:
function handleDynamicElementEvent(event) { console.log(event.type, this.value) } // create and attach event to dynamic element jQuery("
Хороший способ получить секунды с эпохи - это сделать это явно. Эта функция преобразует timestring в наивную datetime
, сообщает часовой пояс datetime
, а затем вычитает datetime
, которая является эпохой в UTC.
Код:
import datetime as dt
from pytz import timezone
def convert_timestamp_to_utc_epoch(ts, tz_info):
# convert timestamp string to naive datetime
naive = dt.datetime.strptime(ts, '%Y-%m-%d %H:%M:%S')
# assign proper timezone to datetime
aware = tz_info.localize(naive)
# get a datetime that is equal to epoch in UTC
utc_at_epoch = timezone('UTC').localize(dt.datetime(1970,1,1))
# return the number of seconds since epoch
return (aware - utc_at_epoch).total_seconds()
Тестовый код:
Используя пример из вопроса:
print('CET:',
convert_timestamp_to_utc_epoch('2017-02-22 17:04:06', timezone('CET')))
Результаты:
CET: 1487779446.0
Получить произвольный локальный часовой пояс:
Если вы не уверены, какой часовой пояс используется локальной машиной, библиотеку tzlocal
можно использовать как:
from tzlocal import get_localzone
local_tz = get_localzone()
print('Local:',
convert_timestamp_to_utc_epoch('2017-02-22 17:04:06', local_tz))
print('Pacific:',
convert_timestamp_to_utc_epoch('2017-02-22 17:04:06', timezone('US/Pacific')))
Результаты:
Local: 1487811846.0
Pacific: 1487811846.0