Действительно ли можно ли отформатировать 24-часовую строку времени в 12-часовую строку времени с,/PM?

Есть, как всегда, несколько способов сделать свое дело.

Один из этих способов, предполагая, что на секунду здесь ключи JIRA, которые вам нужны, это только ключи выдачи, а не ключи project или projectCategory, - это использование itemgetter:

from operator import itemgetter as itg
key_finder = itg('key')
my_values = list(map(key_finder, DICT_NAME['issues']))

itemgetter функционирует как оболочка для понимания и по существу возвращает tuple(obj[i] for i in items), где items - набор аргументов, переданных в itemgetter. Следовательно, itemgetter('key', 'id') обернет поиск для 'key' и 'id', а функция, примененная к словарю, вернет значения 'key' и 'id', в этом случае требуется только 'key'.

map(function, iterable) применяет function последовательно к элементам в итерируемой, например, function(iterable[0]); function(iterable[1]) и т. Д.

В вашем случае с необходимостью многократно повторять цикл и объединять результаты:

from functools import reduce
issue_key_values = reduce(lambda x,y: x+y, [list(map(key_finder, ll['issues'])) for ll in jira_list])

Оператор редукции из строки документации:

Применить функцию двух аргументов кумулятивно к элементам последовательности слева направо, чтобы свести последовательность к одному значению.

Другими шагами являются оценка выражений генератора и циклических представлений, которые вы можете найти в большом количестве материалов на этом сайте (и в Google).

5
задан Heikki Toivonen 11 February 2009 в 08:13
поделиться

4 ответа

Если Вы не расширяете sqlite с помощью своей собственной функции, необходимо будет сделать, это - код.

strftime функция форматирования даты sqlite только поддерживает небольшое подмножество своего дубликата C, недостаточного для Вашей проблемы. sqlite также испытывает недостаток в конструкции выбора как ЕСЛИ или СЛУЧАЙ, делая простым, если/еще невозможный.

4
ответ дан 13 December 2019 в 19:37
поделиться

Некоторый псевдо код для помощи Вам на пути:

if (hourpart of time >= 12)
    subtract 12 from hours
    append string " pm"
else // hourpart < 12
    append string " am"
end if

В SQL можно выполнить это использование синтаксиса СЛУЧАЯ.


После более тщательно изучения проблемы:

SELECT (CASE HOUR(myTimeColumn) >= 12 WHEN 1 THEN
         ((HOUR(myTimeColumn) - 12) + '-' + MINUTE(myTimeColumn) + ' pm')
       ELSE
         (HOUR(myTimeColumn) + '-' + MINUTE(myTimeColumn) + ' am')
       AS AmPmTime,
       someOtherColumn
FROM myTable

Я не совсем уверен, что все это является допустимым синтаксисом SQLite, но необходимо смочь исправить ошибки.

4
ответ дан 13 December 2019 в 19:37
поделиться

Сделайте это в своем приложении. Сохраните его в нормальном 24-м формате в базе данных. В базе данных это может быть сохранено как запись Даты вместо строки (исправьте меня, если я неправ),

1
ответ дан 13 December 2019 в 19:37
поделиться

Как PoweRoy recomended, это принадлежит приложения.

Рекомендуется, чтобы любой вид данных, хранивших используемых в коммуникации, использовал стандартный, нечувствительный к локали формат: http://www.mihai-nita.net/article.php?artID=20051025a

0
ответ дан 13 December 2019 в 19:37
поделиться
Другие вопросы по тегам:

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