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

У меня есть этот код:

String id = c.getString("data"); 
String name = ((TextView) view.findViewById(R.id.TextView05)).getText().toString();

public static String getDate(long seconds, String dateFormat)
{
    DateFormat formatter = new SimpleDateFormat("yyyy MMMM dd HH:mm");
    long now = System.currentTimeMillis();
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(now);
    return formatter.format(calendar.getTime());
}

"data" это 1341435600000. Я хочу иметь эту строку от миллисекунд до даты.


person user1563977    schedule 31.07.2012    source источник
comment
нет, только что получил 134143560000000   -  person user1563977    schedule 31.07.2012
comment
да о/п правильный. в какой формат вы хотите преобразовать строку   -  person Ram kiran    schedule 31.07.2012
comment
Я проверил с вашим кодом, и он работает нормально. Он печатает 2012 31 июля 16:18 для меня.   -  person jeet    schedule 31.07.2012


Ответы (5)


try {  
      String str_date="11-June-07";
      DateFormat formatter ; 
      Date date ; 
      formatter = new SimpleDateFormat("dd-MMM-yy");
      date = (Date)formatter.parse(str_date);  
      System.out.println("Today is " +date );
    } 
catch (ParseException e)
{
System.out.println("Exception :"+e);
}

для преобразования миллисекунд в дату

long yourmilliseconds = 1119193190;
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
Date resultdate = new Date(yourmilliseconds);
person Debugger    schedule 31.07.2012

Что-то вроде этого:

    SimpleDateFormat ss = (SimpleDateFormat) SimpleDateFormat.getInstance();
    ss.applyPattern("yyyy MM dd HH:mm");

    // Date to String: 
    String dateToString = ss.format(new Date());

    //String to Date
    Date stringToDate = ss.parse("2012 02 16 14:10"));
person Vyacheslav Shylkin    schedule 31.07.2012

Тот же метод отлично работает для меня. Почему не твой?

/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    long cTime = System.currentTimeMillis();

    String date = getDate(cTime, "dd/MM/yyyy hh:mm:ss.SSS");

    Toast.makeText(getApplicationContext(), date, Toast.LENGTH_SHORT).show();
}

public static String getDate(long milliSeconds, String dateFormat)
{
    // Create a DateFormatter object for displaying date in specified format.
    DateFormat formatter = new SimpleDateFormat(dateFormat);

    // Create a calendar object that will convert the date and time value in milliseconds to date. 
     Calendar calendar = Calendar.getInstance();
     calendar.setTimeInMillis(milliSeconds);
     return formatter.format(calendar.getTime());
}
person Praveenkumar    schedule 31.07.2012
comment
Идентификатор строки = Utils.getDate(c.getString(данные), дд/мм/гггг); будет правильно? - person user1563977; 31.07.2012
comment
@user1563977 user1563977 Если ваш data содержит длинное значение времени в миллисекундах. Это было бы правильно. Просто сделайте так: long cTime = c.getString("data"); Поставьте этот код вместо cTime в ответе выше. - person Praveenkumar; 31.07.2012
comment
String id = c.getString(TAG_DATA); long milliseconds = Long.parseLong(id); String date = Utils.getDate(milliseconds, "yyyy-MM-dd HH:mm:ss"); Решено :) У меня есть еще один вопрос :) что я должен написать, чтобы узнать, что такое GMT? - person user1563977; 31.07.2012

если вас не беспокоит формат Date, просто используйте его, как показано ниже

String id = c.getString("data"); //"1341435600000"; 
Date date123 = new Date(Long.parseLong(id));
System.out.println(date123);
person sunil    schedule 31.07.2012
comment
мне нужно вставить map.put(TAG_ID, id); - person user1563977; 31.07.2012
comment
я не понял тебя. (кстати, это не упоминается в вашем исходном вопросе) - person sunil; 31.07.2012

Фрагмент кода в помощь:

String timestamp="20140809";
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
System.out.println("date :"+dateFormat.parse(timestamp).getTime());
person sa_nyc    schedule 10.09.2014