Отметка времени до строки
Я не знаю, как преобразовать временную метку на сегодняшний день.
У меня есть:
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";
}
}
И ответ: 01/16/1970, но это неправильно.
Ответы
Ответ 1
попробуйте это, если вы придерживаетесь формата "1350574775", который находится в секундах:
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";
}
}
Ответ 2
String S = "1350574775";
Вы отправляете свою метку времени в секундах вместо миллисекунд.
Сделайте это, вместо этого:
String S = "1350574775000";
Или, в вашем методе getDate
умножьте на 1000L
:
new Date(Long.parseLong(timeStampStr) * 1000L)