Je ne sais pas comment transformer l'horodatage à ce jour. J'ai:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView czas = (TextView)findViewById(R.id.textView1);
String S = "1350574775";
czas.setText(getDate(S));
}
private String getDate(String timeStampStr){
try{
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date netDate = (new Date(Long.parseLong(timeStampStr)));
return sdf.format(netDate);
} catch (Exception ignored) {
return "xx";
}
}
Et la réponse est: 16/01/1970, mais c'est faux.
essayez ceci si vous vous en tenez au format "1350574775" qui est en quelques secondes:
private void onCreate(Bundle bundle){
....
String S = "1350574775";
//convert unix Epoch timestamp (seconds) to milliseconds
long timestamp = Long.parseLong(s) * 1000L;
czas.setText(getDate(timestamp ));
}
private String getDate(long timeStamp){
try{
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date netDate = (new Date(timeStamp));
return sdf.format(netDate);
}
catch(Exception ex){
return "xx";
}
}
String S = "1350574775";
Vous envoyez votre horodatage en quelques secondes, au lieu de millisecondes.
Faites ceci à la place:
String S = "1350574775000";
O, dans votre méthode getDate
, multipliez par 1000L
:
new Date(Long.parseLong(timeStampStr) * 1000L)
public static String getTime(long timeStamp){
try{
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeStamp * 1000);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss a");
Date date = (Date) calendar.getTime();
return sdf.format(date);
}catch (Exception e) {
}
return "";
}