2011-04-28 4 views
0

im faisant facebook app nim obtenir update_date = 2011-03-23T04: 30: 43 + 0000 dans ce formate maintenant je veux le même temps que facebook dans le navigateur à partir de cette date .. Im utilisant date formate son travail bien le matin mais après 5h30 il ne fonctionne pas bien. je pense que son problème en GMT mais je ne peux pas trouver une solution si plz m'aider ...facebook date de publication

merci d'avance .. CapDroid.

J'utilise ce code ... où str = 2011-03-23T04: 30: 43 + 0000

static public String dateformate(String str) 
{ 

SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+SSSS"); 

java.util.Date date = null; 
try 
{ 
    date = form.parse(str); 
} 
catch (ParseException e) 
{ 
    e.printStackTrace(); 
} 
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("India"),Locale.getDefault()); 

calendar.set(Calendar.DATE,date.getDate()); 
calendar.set(Calendar.MONTH,date.getMonth()); 
calendar.set(Calendar.YEAR, date.getYear()+1900); 
calendar.set(Calendar.HOUR,date.getHours()); 
calendar.set(Calendar.MINUTE,date.getMinutes()); 
calendar.set(Calendar.SECOND,date.getSeconds()); 

final long current = System.currentTimeMillis(); 
final long update = calendar.getTimeInMillis(); 
final long timeago = Math.abs(current-update); 
if(timeago<=60000) 
{ 
    int time = (int)(timeago/1000); 
    return Integer.toString(time)+" seconds ago"; 
} 
else if(timeago<=3600000 && timeago>=60000) 
{ 
    int time = (int)(timeago/60000); 
    return Integer.toString(time)+" minutes ago"; 
} 
else if(timeago<=86400000 && timeago>=3600000) 
{ 
    int time = (int)(timeago/3600000); 
    return Integer.toString(time)+" hour ago"; 
} 
} 

Répondre

1

essayer ce code snippet

Calendar calendar = Calendar.getInstance(); 
      TimeZone timezone = TimeZone.getDefault(); 
      TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); 

      int currentGMTOffset = timezone.getOffset(calendar.getTimeInMillis()); 
      int gmtOffset = utcTimeZone.getOffset(calendar.getTimeInMillis()); 

      calendar.setTimeInMillis(calendar.getTimeInMillis() + (gmtOffset - currentGMTOffset)); 


      final long current = calendar.getTimeInMillis(); 
//   final long update = calendar.getTimeInMillis(); 
      final long update = date.getTime(); 
      final long timeago = Math.abs(current-update); 
0

Si je reçois ce droit que vous voulez dire à vos utilisateurs comment il y a longtemps une affichage a été fait? Pourquoi ne pas convertir l'horodatage que vous obtenez de Facebook en un timestamp unixtime et travailler avec la différence de l'horodatage actuel?

private static long convertDateToUnixTimeStamp(Date date) { 
    return date.getTime()/1000L; 
} 
+0

oui vous avez obtenu le droit, mais en fait ma question est son travail bien avant, mais après 17h30 ne fonctionne pas son 17:30 bien –

+0

bien. mais si vous le convertissez en un horodatage unixtime, vous devriez obtenir les bons moments dans le temps. :) – stpn108

+0

voir ma quête d'édition –