Хороший способ получить секунды с эпохи - это сделать это явно. Эта функция преобразует 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
Поместите ниже код в вашем опечатке может помочь вам !!
config.tx_extbase {
mvc {
callDefaultActionIfActionCantBeResolved = 1
}
}
Используете ли вы typo3 в режиме композитора? Если это так, вы должны объявить расширения, которых нет в версиях в composer.json. В противном случае они не будут добавлены в автозагрузчик. Вы можете сделать это следующим образом:
{
...
"autoload-dev": {
"psr-4": {
"TYPO3\\CMS\\Core\\Tests\\": "web/typo3/sysext/core/Tests/",
"Vendor\\ExtensionKey\\": "web/typo3conf/ext/extension_key/Classes/"
}
}
}
Чтобы обновить автозагрузчик, необходимо выполнить следующую команду. Дополнительный аргумент обеспечивает оптимизацию одновременно. Соответствующие классы загружаются быстрее.
composer dump-autoload -o