Вы можете просто связать все необходимые аргументы с помощью «bind»:
root.addEventListener('click', myPrettyHandler.bind(null, event, arg1, ... ));
Таким образом вы всегда будете получать событие, arg1 и другие данные, переданные myPrettyHandler.
http://passy.svbtle.com/partial-application-in-javascript-using-bind
Ваш первый метод кажется одобренным и должен поддерживать переход на летнее время.
Вы можете немного сократить его, поскольку pytz.utc = pytz.timezone ( 'UTC') , но вы это уже знали :)
tz = timezone('US/Pacific')
def toUTC(d):
return tz.normalize(tz.localize(d)).astimezone(pytz.utc)
print "Test: ", datetime.datetime.utcnow(), " = ", toUTC(datetime.datetime.now())
Используйте первый способ. Нет причин изобретать колесо преобразования часового пояса