Учитывая строку, как показано ниже, мне нужно преобразовать:
1 декабря 2008 06:43:00 +0100
к
ММ / ДД / ГГГГ ЧЧ: ММ: SSAM
используя jython, как лучше всего это сделать?






У меня нет под рукой jython, но я ожидаю, что что-то вроде этого сработает:
import java
sdf = java.text.SimpleDateFormat
fmt_in = sdf('d MMM yyyy HH:mm:ss Z')
fmt_out = sdf('MM/dd/yyyy HH:mm:ssaa')
fmt_out.format(fmt_in.parse(time_str))
Jython 2.5b0 (бета) имеет реализацию модуль времени, которая включает
strptime(string[, format]).Parse a string representing a time according to a format. The return value is a struct_time as returned by gmtime() or localtime().
(strptime отсутствует в Jython2.2.1).
Версия форматов преобразования для Python будет выглядеть (не уверен в компоненте зоны):
import time
mytime = time.strptime("1 Dec 2008 06:43:00 +0100", "%d %b %Y %H:%M:%S %Z")
new_time_string = time.strftime("%m/%d/%Y %I:%M:%S%p", mytime)
В jython 2.5.2, к сожалению, встроенный strptime не обнаруживает большинство ошибок и вместо этого возвращает фиктивное время: bugs.jython.org/issue1692. В качестве альтернативы вы можете попробовать использовать чистую реализацию strptime на Python: code.activestate.com/recipes/56036-pure-python-strptime
Когда time.strptime () не работает, вы можете вернуться к стороне Java - joda-time.sourceforge.net
jython 2.2.1 не поддерживает time.strptime.