2013-09-05 6 views
-5

Я столкнулся с проблемой при преобразовании даты:Дата ошибки преобразования формата

Текущий формат: Thu Sep 05 12:07:46 IST 2013(dow mon dd hh:mm:ss zzz yyyy)

Мне нужно преобразовать, чтобы: 09/04/2013 11:38 PM PDT(mm/dd/yyyy hh:mm a zzz)

Но я не в состоянии преобразовать.

+5

Что вы уже пробовали? – agad

+0

Вы даже пытались использовать или проецировать SimpleDateFormatter ?! – pranky64

+0

Это очень просили просто найти StackOverflow, чтобы начать с [SimpleDateFormat] (http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html) – AurA

ответ

0

Попробуйте использовать SimpleDateFormatter. Вы должны указать формат ввода/вывода, вы можете сделать это на основе on this description (здесь вы также можете найти несколько распространенных примеров).

Код будет выглядеть примерно так:

try { 
    String input = "Thu Sep 05 12:07:46 IST 2013"; 
    DateFormat formatter = new SimpleDateFormat("I leave this to you :-)))"); 
    System.out.println(formatter.parse(input)); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

Надежда, что помогает.

0
try { 
      DateFormat dffrom = new SimpleDateFormat("E MMM dd hh:mm:ss zzz yyyy"); 
      DateFormat dfto = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a zzz"); 
      Date date = dffrom.parse("Thu Sep 05 12:07:46 IST 2013");  
      String s = dfto.format(date); 
      System.out.println(s); 
    } catch (ParseException e) { 

    } 

Выходной

09/05/2013 00:07:46 AM IST

обновление

try { 
     DateFormat dffrom = new SimpleDateFormat("E MMM dd hh:mm:ss zzz yyyy"); 
     DateFormat dfto = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a zzz"); 
     TimeZone zone = TimeZone.getTimeZone("America/Los_Angeles"); 
     dfto.setTimeZone(zone); 
     Date date = dffrom.parse("Thu Sep 05 12:07:46 IST 2013");  
     String s = dfto.format(date); 
     System.out.println(s); 
    } catch (ParseException e) { 

    } 

выход

09/04/2013 11: 37:46 AM PDT

+0

Это не то, что хочет OP. Также только код ответа не очень полезен. Позаботьтесь об этом, особенно если ваш ответ не является тем, что требуется. –

+0

Можете ли вы объяснить мне, что я сделал не так, и что он ожидает? .. – Prabhakaran

+0

Вопрос TimeZone. OP хочет его в «PDT», идентификатор временной зоны - «Америка/Лос-Анелес» или «PST8PDT». Кроме того, нет никаких объяснений. –

0

Вы можете сделать это

TimeZone tz = TimeZone.getTimeZone("PST8PDT"); // example 
// required format. Remember M is for month, m for miniute 
DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm a zzz"); 
df.setTimeZone(tz); 
String text = df.format(new Date());// current time 
System.out.println(text); 

Также, пожалуйста, проверьте этот TimeZones in Java

0

Вы пытаетесь конвертировать DateFormat и TimeZone, так что вам нужно преобразовать часовой пояс в вашем коде.

SimpleDateFormat sf = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy"); 
isoFormat.setTimeZone(TimeZone.getTimeZone("PDT")); 
Date date = isoFormat.parse("mm/dd/yyyy hh:mm a zzz"); 

Это может вам помочь.

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