2011-12-21 3 views
0
long time = 1342580400; //This should be GMT: Wed, 18 Jul 2012 03:00:00 GMT 
Date date = new Date(time); 
SimpleDateFormat dateSdf = new SimpleDateFormat("dd MMM"); 
String strTime = dateSdf.format(date); 
System.out.println(strTime); //This gives me 16 Jan instead. 

Любые идеи?Android SimpleDateFormat и будущие даты

ответ

1

Если запустить следующий код:

SimpleDateFormat dateSdf = new SimpleDateFormat("dd MMM yyyy hh:mm:ss Z"); 
    Date d = dateSdf.parse("18 Jul 2012 03:00:00 GMT"); 
    System.out.println(d.getTime()); 

Вы получите выход: 1342580400000

Итак, ваша проблема в том, что вам не хватает несколько номеров.

+1

'отсутствует несколько numbers' означает, что' нового Date() 'занимает миллисекунды и вы предоставили секунды ... – WarrenFaith

+0

@WarrenFaith, вы правы. Я не понимал, что ОП пропустил точно такой же коэффициент 1000 – THelper

+0

Спасибо, я не могу поверить, что пропустил это, мои усталые глаза. – Maurice

1
Date dt = new Date(); 

      // Fri Dec 02 17:23:13 GMT+05:30 2011 

      DateFormat gmtFormat = new SimpleDateFormat(); 
      TimeZone gmtTime = TimeZone.getTimeZone("GMT"); 
      gmtFormat.setTimeZone(gmtTime); 
      gmtFormat.format(dt); 
      Calendar new_c = gmtFormat.getCalendar(); 

      int hours = new_c.get(Calendar.HOUR_OF_DAY); 
      int minutes = new_c.get(Calendar.MINUTE); 
      int seconds = new_c.get(Calendar.SECOND); 

      mYear = new_c.get(Calendar.YEAR); 
      MMonth = new_c.get(Calendar.MONTH); 
      mDay = new_c.get(Calendar.DAY_OF_MONTH); 
      new_c.setTimeZone(tz); 

      MMonth = MMonth + 1; 

      String curdate = mDay + "-" + MMonth + "-" + mYear; 
1

Похоже, что ваш ручной расчет даты со времени не так. Я попытался следующий код:

long currTime = System.currentTimeMillis(); 

    Date date = new Date(currTime); 
    SimpleDateFormat dateSdf = new SimpleDateFormat("dd MMM"); 
    String strTime = dateSdf.format(date); 
    System.out.println(strTime); 

И он дал мне правильную дату а именно 21 декабря

Смежные вопросы