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

但我无法转换。

4

4 回答 4

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

这可能会对您有所帮助。

于 2013-09-05T08:14:47.590 回答
0

尝试使用SimpleDateFormatter. 你必须告诉它输入/输出格式,你可以根据这个描述来做(你也可以在那里找到一些常见的例子)。

代码将是这样的:

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();
}

希望有帮助。

于 2013-09-05T08:00:37.657 回答
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) {

   }

输出

IST 2013 年 9 月 5 日上午 00:07:46

更新

   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) {

   }

输出

2013 年 9 月 4 日上午 11:37:46 PDT

于 2013-09-05T08:05:55.043 回答
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);

也请检查这个Java TimeZones

于 2013-09-05T08:10:34.897 回答