2012-07-31 5 views
0

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

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. Я хочу, чтобы эта строка была от миллисекунд до настоящего времени.

+0

"данные": 1341435600000 – user1563977

+1

есть какая-либо ошибка ? – jeet

+0

нет, только что получил 134143560000000 – user1563977

ответ

0
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); 
0

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

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")); 
0
String dtStart = "2010-10-15T09:27:37Z"; 
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
try { 
    Date date = format.parse(dtStart); 
    System.out.println(date); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
0

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

/** 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()); 
} 
+0

String id = Utils.getDate (c.getString ("data"), "dd/MM/yyyy"); будет правильным? – user1563977

+0

@ user1563977 Если ваши 'данные' содержат длинное значение миллисекунд времени. Это было бы правильно. Просто сделайте так: 'long cTime = c.getString (" data ");' Поместите этот код вместо 'cTime' в ответ выше – Praveenkumar

+0

' String id = c.getString (TAG_DATA); \t \t \t \t long milliseconds = Long.parseLong (id); \t \t \t \t String date = Utils.getDate (миллисекунды, "yyyy-MM-dd HH: mm: ss"); 'Solved :) Еще один вопрос, который у меня есть :), что я должен писать, чтобы узнать, что такое GMT? – user1563977

0

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

String id = c.getString("data"); //"1341435600000"; 
Date date123 = new Date(Long.parseLong(id)); 
System.out.println(date123); 
+0

Мне нужно поместить в map.put (TAG_ID, id); – user1563977

+0

Я тебя не понял. (Кстати, он не упоминается в вашем первоначальном вопросе) – sunil

0

фрагмент кода, чтобы помочь:

String timestamp="20140809"; 
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); 
System.out.println("date :"+dateFormat.parse(timestamp).getTime()); 
Смежные вопросы