Дата Flex () конструктор неправильный преобразовывает метки времени Unix argh

Прежде всего: значение PyYAML по умолчанию .load() потенциально опасно, и вам оно почти никогда не нужно. Вместо этого используйте .safe_load().

После загрузки вы получаете доступ к любому ключу сопоставления, используя питоны ['somekey'], синтаксис поиска ключей и любую последовательность, используя индексирование записей списка ([somenumber]).

Предполагается, что ваш файл называется input.yaml (с удаленным <== How do I get this?:

import yaml

with open('input.yaml') as fp:
    data = yaml.safe_load(fp)
print(data['actions']['a1']['add']['filters'][1]['value'])
print(data['actions']['a2']['add']['filters'][1]['value'])

, что дает:

^logstash-dev-firehbridge-cold
^logstash-dev-firehbridge-hot
10
задан Jarin Udom 13 February 2009 в 00:17
поделиться

4 ответа

необходимо преобразовать в миллисекунды, умножить это на 1 000

21
ответ дан 3 December 2019 в 14:54
поделиться

http://livedocs.adobe.com/flex/2/langref/Date.html#Date ()

При передаче одного аргумента Числа типа данных объекту Даты присваивают временная стоимость на основе количества миллисекунд с 1 января 1970 0:00:000 GMT, как указано единственным аргументом.

Необходимо умножить число на 1 000.

4
ответ дан 3 December 2019 в 14:54
поделиться

Так как это анализируется как миллисекунды, просто умножьте значение эпохи на 1 000:

trace(new Date(1236268800 * 1000));
// Thu Mar 5 08:00:00 GMT-0800 2009
3
ответ дан 3 December 2019 в 14:54
поделиться

В AS3 Дата () конструктор принимает значение в миллисекундах, тогда как время Unix находится в секундах. Попробуйте это:

var timestamp:Number = 1236268800;
trace(new Date(timestamp * 1000));
3
ответ дан 3 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: