2016-04-02 2 views
2

Объяснение: У меня есть временная метка в строчном формате, которая поступает с сервера в json file.my. Timestamp похожа на 1454544000 в этом формате. Я сохранил это время в переменной String.Как преобразовать строку timestamp в дату fromat в android?

Вот мой код

Timestamp ts=new Timestamp(System.currentTimeMillis()); 
Date d=new Date(ts.getTime()); 
Log.e("TimeStamp",""+d.toString()); 

но она возвращает текущую текущую дату. Я хочу преобразовать свою временную метку, которую я получил из json-файла.

Как я могу преобразовать выше отметки времени в дату fromat ????

+2

Пожалуйста, дайте конкретный пример входного значения с ожидаемое выходное значение. «формат даты» слишком расплывчатый. –

ответ

0

Надеется, что это помогает

import java.util.Date; 
public class HelloWorld{ 

    public static void main(String []args){ 
     //Since you mentioned that you have timestamp in string format, so I have taken timestamp as string and parsed it to long in Date() 
     String timestamp = "1454544000" ; //Example -> in ms 
     Date d = new Date(Long.parseLong(timestamp)); 
     System.out.println(d); 
    } 
} 

Таким образом, вы можете использовать эти две строки в вашем Android приложения:

String timestamp = "1454544000" ; //Example -> in ms 
Date d = new Date(Long.parseLong(timestamp)); 
0

магазина время в длинном из JSON вместо строки и передать его в коде ниже:

String time = DateUtils.formatDateTime(this, 1454544000, DateUtils.FORMAT_SHOW_TIME)); 
String date = DateUtils.formatDateTime(this, 1454544000, DateUtils.FORMAT_SHOW_DATE)); 
+0

он возвращается с 18 января 1970 года –

0

Храните метки времени в переменной типа длинного имени TimeinMilliSeccond, а затем

String dateString = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(TimeinMilliSeccond)); 
2

Код должен выглядеть следующим образом:

long timestamp = 1454544000; 
Date date = new Date(timestamp); 

Если бы вы хотели также иметь настроенный формат даты, вы можете попытаться с помощью SimpleDateFormat. Вот пример кода, а также:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
String formattedDate = formatter.format(date); 

Для получения дополнительной информации о SimpleDateFormat, вы можете проверить это один из: Simple Date Format

+0

он возвращается Sun Jan 18 05:24:50 GMT + 05: 30 1970 как это –

+0

почему он возвращает год в 1970 году –

0

Попробуйте

Use below method for Convert JsonDate to normal format. 


public static String ConvertJsonDate(String jsondate) { 

    jsondate = jsondate.replace("/Date(", "").replace(")/", ""); 
    long time = Long.parseLong(jsondate); 
    Date d = new Date(time); 
    return new SimpleDateFormat("dd/MMM/yyyy").format(d).toString(); 
    } 

    //Now you use this method this way 
    String date1 = ConvertJsonDate("Yourjsondate"); //give argument like 1454544000 
    System.out.println(date1); 
Смежные вопросы