如何将给定的字符串格式解析为dd-MMM-yyyy hh:mm:ss:aa?

Sta*_*tar 3 java date datepicker

我可以将输出显示为Wed May 11 15:36:08 IST 2016,但是如何将日期转换为具有所需格式的字符串?

所需格式为: 12-05-2016 16:05:08 pm

我试过的是

public class Test {
    public static void main(String args[]) throws ParseException{
        String epoche="1462961108000";
        Long initialLogTime = Long.valueOf(epoche);
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(initialLogTime);
        Calendar fromDateTime = calendar;
        Calendar toDateTime = fromDateTime;
        toDateTime.add(Calendar.MINUTE, 30);
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss:aa");
        String datestring = String.valueOf(fromDateTime.getTime());
        String datestring1 = String.valueOf(toDateTime.getTime());
        System.out.println(datestring); //here output is Wed May 11 15:36:08 IST 2016
        System.out.println(datestring1); // here output is Wed May 11 15:36:08 IST 2016
        Date dates = dateFormat.parse(datestring);
        Date date1s = dateFormat.parse(datestring1);
        System.out.println(dates);
        System.out.println(date1s);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Exception in thread "main" java.text.ParseException: Unparseable date: "Wed May 11 16:05:08 IST 2016"
at java.text.DateFormat.parse(DateFormat.java:357)
at test.Test.main(Test.java:27)
Run Code Online (Sandbox Code Playgroud)

San*_*eev 5

您需要相应地格式化日期。这将帮助您

    SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss:aa");
    System.out.println(dateFormat.format(fromDateTime.getTime()));
    System.out.println(dateFormat.format(toDateTime.getTime()));
Run Code Online (Sandbox Code Playgroud)