2010-11-30 15 views
1

2010-06-14 02: 21: 49-0400 ou 2010-06-14 02: 21: 49 + 0400Date d'affichage en fonction du fuseau horaire de dispositif

Ce qui précède est la chaîne vient de mon webservice ... est-il un moyen de convertir cette chaîne à la date en fonction du temps de la machine locale zone

je Simpledateformatter .. mais pas en mesure d'afficher correctement .. s'il vous plaît aider

Répondre

3

Utilisez java.text.SimpleDateFormat pour la mise en forme de la date (de la chaîne de date à l'objet date). Motif sera yyyy-MM-dd HH:mm:ssZ

Exemple:

String dateStr = "2010-06-14 02:21:49-0400"; 
String pattern = "yyyy-MM-dd HH:mm:ssZ"; 
SimpleDateFormat sdf = new SimpleDateFormat(pattern); 
Date date = sdf.parse(dateStr); 

PS Pour utiliser TimeZone, vous pouvez utiliser TimeZone.getDefault() et l'ajouter à SimpleDateFormat.

SimpleDateFormat sdf = new SimpleDateFormat(pattern); 
sdf.setTimeZone(TimeZone.getDefault()); 
Date date = sdf.parse(dateStr); 
+0

motif String = "aaaa-mm-jj HH: MM: ssZ"; SimpleDateFormat sdf = new SimpleDateFormat (pattern); sdf.setTimeZone (TimeZone.getDefault()); Date date = sdf.parse (dateStr); sortie - mer 31 mars 14:37:33 ... mais je veux 2010-03-31 02:37 PM – xydev

+0

@xydev, ce n'est pas ce que vous avez demandé initialement ('existe-t-il un moyen de convertir cette chaîne à la date selon le fuseau horaire de la machine locale »). Pourriez-vous mettre à jour votre question afin que nous sachions exactement ce que vous voulez? –

0

peut-être this peut répondre ta question?