Cómo analizar la propiedad DateTime de AppEngine en Java (Android)?
Tengo que analizar DateTime cadena procedente de AppEngine en Java (Android). La cadena tiene este aspecto: 2011-07-26 17:21:00+01:00
. ¿Es un formato estándar? ¿Hay manera más simple que usar SimpleDateFormat
personalizado?
- Google App Engine y Android (OAuth, C2DM o Cloud Messaging)
- Notificación Push mediante Firebase y Google Cloud Messaging
- Base de datos de la nube para Android
- Qué es "serviceAccountKey.json" que se refiere en el tutorial de notificaciones de dispositivo a dispositivo de Firebase
- Google Cloud Endpoints Cliente Android: error de autenticación
- Google Cloud Datastore / Mobile Backend Starter - Error de permisos en la actualización / actualizaciónTodas las llamadas
- La importación com.google.api.client no se puede resolver en Eclipse
- El método de punto final de Google mantiene la devolución "nombre no debe estar vacío" excepción
- Error: Error de ejecución para la tarea ': backend: appengineEndpointsGetClientLibs
- Cómo enviar datos de imagen al servidor desde Android
- Iniciador de backend móvil ausente de la consola de nube
- El inicio de Backend para móviles subscribeToCloudMessage no funcionará
- Java.lang.IllegalStateException: Esta función solo está disponible para instancias de backend
SimpleDateFormat
es bastante simple, excepto que para el hecho de que la cadena de fecha es un poco fuera de debido a la última :
allí. Simplemente reemplace el :
y use el siguiente patrón:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:ss:mmZ"); String dateStr = "2011-07-26 17:21:00+0100"; System.out.println(sdf.parse(dateStr));
¿Qué puede ser más sencillo que SimpleDateFormat en ese caso? Sólo tienes que deshacerse de ese último desagradable :
en la zona horaria parte.
Editar: El formato está muy cerca de un formato estándar.
Esto deshacerse de la última desagradable :
y analizar la fecha:
String data = "2011-07-26 17:21:00+01:00"; data = data.replaceFirst("(.*):(..)", "$1$2"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ssZZZ"); Date parse = formatter.parse(data); System.out.println("Got " + parse);