d'une chaîne comme ci-dessous, je dois convertir:Jython date de conversion
1 déc 2008 06:43:00 +0100
à
MM/JJ/AAAA HH: MM: SSAM
en utilisant jython quelle est la meilleure façon de faire cela?
d'une chaîne comme ci-dessous, je dois convertir:Jython date de conversion
1 déc 2008 06:43:00 +0100
à
MM/JJ/AAAA HH: MM: SSAM
en utilisant jython quelle est la meilleure façon de faire cela?
Je n'ai pas Jython à portée de main, mais je pense quelque chose comme cela fonctionne:
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 (beta) a une mise en œuvre de la time module qui comprend
strptime(string[, format])
.Analyser une chaîne représentant une heure en fonction d'un format. La valeur de retour est un struct_time tel que retourné par gmtime() ou localtime().
(strptime
est manquant dans Jython2.2.1).
Une version python des formats de conversion ressemblera (pas sûr de la composante de la zone):
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.2.1 ne marche pas time.strptime de soutien. – Setori
À partir de la version 2.5.2 de jython, malheureusement, la version intégrée de strptime ne détecte pas la plupart des erreurs et retourne un faux temps à la place: http://bugs.jython.org/issue1692. Comme alternative, vous pouvez essayer d'utiliser une pure implémentation Python de strptime: http://code.activestate.com/recipes/56036-pure-python-strptime/ – roskakori
Quand time.strptime() ne le fera pas, vous pouvez vous tourner Retour au côté Java - http://joda-time.sourceforge.net/ – gimel